![]() |
Indy - TIdSync
Hallo,
mit "Tokyo" erhalte ich die Meldung, dass TIdSync.SynchronizeMethod deprecated sei und man TThread.Synchronize verwenden soll. Wie mache ich das korrekt? Aus
Code:
wird
TIdSync.SynchronizeMethod(ExecuteSynchronized);
Code:
ist das ok oder muss ich AThread auch setzen?
TThread.Synchronize(nil, ExecuteSynchronized);
Christian |
AW: Indy - TIdSync
Ist ok, wenn du in den VCL-Mainthread synchronisieren willst.
|
AW: Indy - TIdSync
Zitat:
Christian |
AW: Indy - TIdSync
Zitat:
Wenn es darum geht, irgendetwas in der Oberfläche zu machen (Daten anzeigen etc.) dann ist nil ok, weil dann in den Haupthread synchronisierst. Sprich ExecuteSynchronized wird im Kontext des Haupthreads ausgeführt. |
AW: Indy - TIdSync
Jetzt habe ich falsch überlegt. Ich will ja gerade in den MainThread synchronisieren. Somit ist nil ok.
Besten Dank. Christian |
AW: Indy - TIdSync
Ich glaub der erste Parameter ist eh der Sender und nicht der Empfänger.
(falls dir der Absender bekannt ist, wenn nicht, dann egal) TThread-Synchronize syncronisert immer nur in den Hauptthread. |
AW: Indy - TIdSync
Zitat:
Delphi-Quellcode:
class procedure TThread.Synchronize(AThread: TThread; AMethod: TThreadMethod);
var SyncRec: TSynchronizeRecord; begin if AThread <> nil then AThread.Synchronize(AMethod) else // unbekannter Absender end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 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