Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#12
  Alt 4. Feb 2003, 16:03
Moin Mirlin,

soweit ich das überblicke wird wieder alles freigegeben:
Dadurch, dass Du beim Create MainForm als Owner angibst, würde das ChildForm spätestens beim zerstören (freigeben) von Mainform mit freigegeben werden.

Durch Action := caFree wird es dann beim Schliessen auch wieder freigegeben.

Das mit der WindowProcedure kannst Du auch einfacher haben:

Delphi-Quellcode:
// Unter FormCreate in TMainForm = class(TForm)

  procedure WndProc(var msg: TMessage); override;

// In Implementation

  procedure TMainForm.WndProc(var msg: TMessage);
  begin
    if Msg = Msg_SetToNil then
    begin
      Child := nil;
      exit; // Die "normale" WndProc kennt die Message ja sowieso nicht
    end;
    inherited WndProc(msg);
  end;
Falls da sonst nichts drin ist, könnten nun die FormCreate und CloseChild entfallen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat