Danke schon mal für die Antworten:
@Luckie:
TMain ist die Hauptform. Im acBeenden steht dann auch nur self.close.
@Deep-Sea:
Application.Terminate kann ich mal versuchen. Muss dazu sagen, dass ich nur das wie ich dachte nötigste gepostet habe. Im OnClose-Event der Main-Form passiert noch einiges (Objekte freigeben usw.) - würde das noch ausgelöst?
@s.h.a.r.k:
Werd ich mal überlegen, doch das bedeutet eine größere Umstellung, da mit dem Start der Hauptform auch noch einige andere Objekte erstellt werden (die wie bereits oben erwähnt daher im OnClose auch dringend wieder geschl. werden müssen), die z.B. das Loging starten, den Programstart in einer
DB vermerken usw.
Hab es auch schon so versucht, sprich das Hauptform noch im OnCreate zu killen, ging (logischerweise?) auch nicht.
Delphi-Quellcode:
procedure TMain.FormCreate(Sender: TObject);
begin
if UpperCase(paramstr(1)) = UpperCase('EINGABE')then
begin
self.Visible:=false;
acMeldedaten_EingabeExecute(nil);
self.Close;
end;
end;
Das Hauptform einfach nur wieder sichtbar machen und dann per Hand schließen (X-Button) funktioniert dagegen, sprich das Programm wird rückstandslos beendet.
Delphi-Quellcode:
procedure TMain.FormCreate(Sender: TObject);
begin
if UpperCase(paramstr(1)) = UpperCase('EINGABE')then
begin
self.Visible:=false;
acMeldedaten_EingabeExecute(nil);
self.Visible:=true;
end;
end;
Könnte es sein, dass das programmatische schließen einfach zu schnell ist?