Einzelnen Beitrag anzeigen

shmia

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

Re: Ist Fenster schon geschlossen?! (speziell: MDI-Fenster)

  Alt 7. Jan 2008, 19:23
Zunächst mal wird mit folgendem Code ein MDI korrekt geschlossen:
Delphi-Quellcode:
procedure TMDI_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   if FormStyle = fsMDIChild then
     Action := caFree;
end;
Durch die If-Abfrage kann das MDI-Form auch leicht wieder in ein normales Form geändert werden, ohne dass man am Source viel ändern muss.

Beim Zugriff auf das Property MDIChildCount muss man schwer aufpassen !!
Folgender Code funktioniert nicht:
Delphi-Quellcode:
 // alle MDIs schliesen
 while MDIChildCount > 0 do
   MDIChildren[0].Close;
Dagegen funktioniert Folgendes:
Delphi-Quellcode:
var
  i : Integer;
begin
  for i := MDIChildCount -1 downto 0 do
    MDIChildren[i].Close;
Andreas
  Mit Zitat antworten Zitat