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:
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;
Ich konnte hierfür kein Beispiel finden.
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