Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Schließen von Fenstern

  Alt 3. Sep 2007, 17:12
Bei MDI kann es ja viele Fenster (=Formulare) einer einzigen Klasse geben.
Damit man keine Fehler macht sollte man bei MDI-Formularen folgende Zeile auskommentieren:
Delphi-Quellcode:
var // auskommentieren !!!
   Form2 : TForm2; // auskommentieren !!!
Bei einem MDI-Cild Formular bedeutet ja das Schliesen gleichzeitig den Tod des Formulars.
Darum sollte sich das Formular selber kümmern.
Daher muss man sich im Event OnClose einklinken:
Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   if FormStyle = fsMDIChild then
     Action := caFree;
end;
Die Anmerkung mit FreeAndNil sind bei MDI-Formularen nicht zutreffend. Man braucht kein FreeAndNil weil es gar keine Variable gibt/geben darf.
Andreas
  Mit Zitat antworten Zitat