Ich habe mich zu früh gefreut.
In meinem Hauptformular werden auch weitere Formulare aufgerufen.
Diese Formulare schließe ich jeweils mit einem Button, dieser ruft dann im Formular "Form_Ausgabe_Fenster"
auf und das Formular schließt sich dann auch ohne Fehler.
Schließe ich nun das Hauptformular, kommt erneut der Stack Overflow.
Wie schieße ich welches Fenster richtig, so das es zu keinem Stack Overflow mehr kommt.
In den Unterformularen habe ich folgenden stehen:
Code: Alles auswählen
procedure TFormCorePort.FormDestroy(Sender: TObject);
begin
aufraeumen_coreport;
end;
procedure TFormCorePort.aufraeumen_coreport;
begin
FormCorePort.Close;
end;
procedure TFormCorePort.BT_Core_AbbruchClick(Sender: TObject);
begin
// close;
aufraeumen_coreport;
end;
Im Hauptformular habe ich

- Hauptformular_01.JPG (10.54 KiB) 1447 mal betrachtet
Außerdem gibt es die Procedure
Code: Alles auswählen
procedure TMeineAPP.FormDestroy(Sender: TObject);
begin
Aufraeumen;
end;
procedure TMeineAPP.Aufraeumen;
begin
TextDatei_Vorlage_Core.Free;
VorlageGrundkonfig.free;
VorlageService.free;
VorlageService_CPE2.free;
KonfigDatei.free;
Application.MainForm.Close;
end;
Und das liegt hinter dem Click auf den Exit-Button
Code: Alles auswählen
procedure TMeineAPP.BTExitClick(Sender: TObject);
begin
Aufraeumen;
end;
Bin total verwirrt, was muss nun wo hinein und was erzeugt eine Rekursion?