Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Wie kann ein Button sich selbst freigeben?

  Alt 2. Sep 2008, 18:58
Du schnippelst dem Button ja auch den Boden unter den Füßen weg. Genauergesagt befindet sich der Knopf noch in einer Methode und Du schmeißt ihn auf den Müll. Das geht natürlich nicht.

Schick dem Formular per PostMessage eine benutzerdefinierte Message. Der Message-Handler des Formulares gibt dann das Panel frei.
Delphi-Quellcode:
Const
  WM_DESTROYPANEL = WM_USER+1;

Type
  TMyForm = Class (TForm)
  ...
  Procedure CMDestroyPanel(Var Msg : TMessage); message WM_DESTROYPANEL;
  ...
  End;


Procedure TMyForm.CMDestroyPanel(Var Msg : TMessage);
Begin
  FreeAndNil (ThePanel);
End;

Procedure TMyForm.ButtonClick (Sender : TObject);
Begin
  PostMessage(Handle,WM_DESTROYPANEL,0,0);
End;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat