![]() |
Sender.Free
Da ich ungern den alten Post ausgraben möchte, verlinke ich nur mal...
![]() Ich habe den selben Fall, dass ein Control eine Reihe von Dingen erledigen soll und wenn er damit fertig ist, sich selbst entfernen soll. Es ist ein zur Laufzeit erzeugtes Control. Wahlweise kommt die Meldung Priviligierte Anweisung oder eine Exception. Im Posting wird die Variante über Postmessage empfohlen, leider nur nicht wie das gemacht werden soll, weiß hierzu jemand Rat. Gruß relocate |
AW: Sender.Free
Nur ganz grob angedeutet ohne auf Inhalt einzugehen...
Delphi-Quellcode:
const
WM_MY_MESSAGE = WM_USER + 123; type TForm1 = class(TForm) ... private procedure OnMyMessage(var Msg: TMessage); message WM_MY_MESSAGE; ... procedure TForm1.OnMyMessage(var Msg: TMessage); begin // was soll hier passieren? end; //irgendwo wo's benötigt ist procedure TForm1.Test(Sender: TObject); begin PostMessage(Self.Handle, WM_MY_MESSAGE, 0, 0); end; |
AW: Sender.Free
:thumb: Passt, danke!
|
AW: Sender.Free
Oder (das arbeitet intern auch über die Messages)
Delphi-Quellcode:
//irgendwo wo's benötigt ist
procedure TForm1.Test(Sender: TObject); begin TThread.ForceQueue(nil, procedure begin // was soll hier passieren? end); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz