AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TOmniWorker mit property TNotifyEvent

Ein Thema von WoGe · begonnen am 2. Jan 2014 · letzter Beitrag vom 2. Jan 2014
Antwort Antwort
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#1

TOmniWorker mit property TNotifyEvent

  Alt 2. Jan 2014, 15:33
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.068 Beiträge
 
Delphi 12 Athens
 
#2

AW: TOmniWorker mit property TNotifyEvent

  Alt 2. Jan 2014, 16:00
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz