![]() |
Freigabe einer Instanz in einem Event dieser
Hallo,
angenommen eine Klasse verrichtet ihre Arbeit asynchron und meldet das Ende des Vorgangs per Event zurück. Dieses Event hat als ersten Parameter den Sender als Objektinstanz dieser asynchronen Klasse. Wenn ich nun diesen im Event benutze um das Objekt freizugeben, wäre das schlimm? Die Alternative wäre sich die Instanz zu merken und die Freigabe über einen kurz laufenden Timer oder das Senden einer WIndows-Botschaft auf einen Zeitpunkt kurz hinter den Eventaufruf zu legen... Grüße TurboMagic |
AW: Freigabe einer Instanz in einem Event dieser
Wenn das Event in dem Thread ausgeführt wird, wo sonst auch dieses Objekt vernwendet wird (nur dort), dann gibt es keine Probleme.
|
AW: Freigabe einer Instanz in einem Event dieser
Danke!
|
AW: Freigabe einer Instanz in einem Event dieser
Ein solcher Aufruf von
![]()
Delphi-Quellcode:
mit dem MainThread (Sender wird also auch im MainThread freigegeben), verzögert es aber auch wenn es aus dem MainThread heraus aufgerufen wird. Bei einem simplen Queue wäre das nicht der Fall.
Sender.Free
Delphi-Quellcode:
begin
TThread.ForceQueue(nil, procedure begin Sender.Free; end); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 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 by Thomas Breitkreuz