Thema: Delphi VCL not thread save

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#23

AW: VCL not thread save

  Alt 7. Mär 2014, 12:02
Aber vor dem TThread.Synchronize oder TThread.Queue immer vorher prüfen ob man sich ausserhalb des MainThread-Kontext aufhält.
Delphi-Quellcode:
if MainThreadID <> TThread.CurrentThread.ThreadID then
  TThread.Synchronize(...)
else
  ...
end;
Warum? Geht da was kaputt wenn man in den eigenen Thread synchronisiert?
Delphi-Referenz durchsuchenTThread.Synchronize
Zitat:
Warnung: Rufen Sie Synchronize nicht aus dem Haupt-Thread auf. Dies kann zu einer Endlosschleife führen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat