![]() |
TOmniWorker mit property TNotifyEvent
Ist es erlaubt/sinnvoll einem TOmniWorker ein property vom Typ TNotifyEvent zuverpassen?
Delphi-Quellcode:
TIPosProvider = class(TOmniWorker)
strict private aiMessage: string; private fOnTimer2: TNotifyEvent; procedure SetOnTimer2(const Value: TNotifyEvent); public function Initialize: boolean; override; procedure OMChangeMessage(var msg: TOmniMessage); message MSG_CHANGE_MESSAGE; procedure OMSendMessage(var msg: TOmniMessage); message MSG_SEND_MESSAGE; procedure OMTimer2(var msg: TOmniMessage); message MSG_TIMER_1; property OnTimer2 : TNotifyEvent read fOnTimer2 write SetOnTimer2; //<----- end;
Delphi-Quellcode:
Ich konnte hierfür kein Beispiel finden.
procedure TIPosProvider.OMTimer2(var msg: TOmniMessage);
begin Task.ClearTimer(1); // Task.Comm.Send(1, 'One-shot timer'); // Task.Comm.Send(MSG_WO_DISPATCH, 'LED'); if Assigned(fOnTimer2) then begin fOnTimer2(Self); end; end; Da mein Testprog funktioniert und ich eigentlich davon ausgehe, dass diese Procedure im Kontext des Hauptthreads läuft, müsste es eigentlich erlaubt sein. Grüße wo |
AW: TOmniWorker mit property TNotifyEvent
Das mit dem Event ist natürlich nicht verboten.
Man darf ja auch andere extene Funktionen aufrufen. Egal ob direkt oder über eine Registrierung. Aber beim Thema Thread sollte man natürlich überall aufpassen in welchem Threadkontext was aufgerufen wird und ob die aufgerufene Funktion notfalls threadsave ist, also paralelle Aufrufe verträgt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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