Einzelnen Beitrag anzeigen

Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

TForm sauber schleißen

  Alt 4. Jan 2013, 17:26
Frohes neues Jahr meine Delphi Buddies

Die ist ein Problem was mich schon einige Jahre verfolgt
und ich habe nie eine saubere Lösung gefunden.

Ein neues Form wird erstellt, OK
Delphi-Quellcode:
if FormIndex = nil then begin
FormIndex := TFormIndex.Create(self);
FormIndex.Show;
FormIndex.hMainWin := self.Handle;
FormIndex.Visible := true;
Bei ShowModal kein Problem.
Nur es soll kein Modales Fenster sein.

Das Fenster soll bei "Close" den Speicher freigeben und den Zeiger
auf Nil setzen. Ich möchte das Fenster von
FormIndex schließen.
Delphi-Quellcode:
procedure TFormIndex.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if self <> nil then
FreeAndNil(self);
............
Wenn ich das bei Destroy mache, geht gar nicht, bei FormClose
gibt es manchmal Schutzverletzungen.

Bei CanClose habe ich es noch nicht ausprobiert.

Meine Frage, wie ist es richtig zu bewerkstelligen und
wo kann man nachlesen wie ein Fenster geschlossen wird.
Martin MIchael
  Mit Zitat antworten Zitat