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;