Thema: Delphi Event in Thread

Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

AW: Event in Thread

  Alt 11. Mär 2017, 15:58
Das ist doch Jacke wie Hose.

Will sagen: Du kannst beides problemlos machen. Die Variante mit Synchronize hält den Thread halt mehr auf.

Dafür solltest bei dieser Variante:
Delphi-Quellcode:
procedure TMyThead.DoSendAnMain(Irgendwas: string);
begin
  if Assigned(FOnSendAnMain) then
    FOnSendAnMain(self, Irgendwas);
end;
Dokumentieren, dass das Event in einem separaten Thread aufgerufen wird und eventuelle Interaktionen mit der GUI besonders behandelt werden müssen.
Je nachdem wie du das Event auslöst, muss ggf. der Empfängercode anders geschrieben werden. Du hast also die Wahl zwischen Idiotensicher (Synchronize im Thread) oder Performance.

Falls das Event ausschließlich für GUI Darstellung genutzt wird, ist es komplett egal, da ist Variante 2 (Synchronize im Thread) vll. intuitiver.
  Mit Zitat antworten Zitat