Also mein Programm benötigt mehrere Dateien ... Deshalb überprüfe ich in der (Haupt-)Form.create ob auch alle da sind ...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.FormCreate(Sender: TObject); begin if fileexists('sowieso.exe') then {blabla ...} else begin showmessage('Fehler : Die Datei "sowieso.exe" befindet sich nicht im Verzeichniss !!'); Fehler := true; close; // Mit Application.terminate funzt es ... end; |
Meine Close Procedure sieht in etwa so aus :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if fehler=false then begin // Was geändert und nicht gespeichert ? if changed=true then begin if MessageDlg('Die Einstellungen wurden geändert ! Übernehmen ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin speichern(Form1); end; //if changed true end; end; |
Wenn ich also in der Form.create die Variable "fehler" auf true gesetzt habe, sollte sich das Programm eigentlich schliessen ... Aber es macht dann trotzdem bei Create weiter ...
Also wie im Code schon gesagt, an der Betreffenden Zeile funzt es mit application.terminate ... Allerdings muss bei meinem Code ja irgendein Fehler sein ...
Es gibt keine dummen Fragen ... Nur blöde Antworten !!!