![]() |
Alzaimar's Workerthread und Stringübergabe ?
Hi,
ich habe eine Frage zu "Alzaimar's Workerthread - Diener im Hintergrund" ![]() interessanter code... aber was sich mir in dem Zusammenhang nicht erschließt ist, wie ich richtig einen job erstelle und dabei einen string an den job übergebe... Bei der Datenübergabe und threads habe ich immer ein wenig Bauchschmerzen. Danke für die Tips Ralf ich habe das jetzt mal so gelöst - aber ist das wirklich eine gute Lösung ?
Delphi-Quellcode:
Type
TAddDataJob = Class(TWorkerThreadJob) fDataStr: String; Procedure AddData; protected Constructor Create; Procedure Execute(aThread: TWorkerThread); override; End; //****** Procedure TAddDataJob.Execute(aThread: TWorkerThread); Begin Inherited; fDataStr := UDPstr; Sleep(10); AddData; //aThread.Synchronize(DoShow); End; //****** UDPstr := StrPas(Buffer); // Schicke UDPstring in die Warteschleife PendingJobs.AddJob(TAddDataJob.Create); |
Re: Alzaimar's Workerthread und Stringübergabe ?
Ahoi,
Übergebe den String einfach im Konstruktor, so etwa:
Delphi-Quellcode:
Type
TMyJob = Class(TWorkerThreadJob) fDataStr: String; Procedure AddData; protected Constructor Create (Const aDataStr : String); Procedure Execute(aThread: TWorkerThread); override; End; Constructor TMyJob.Create (Const aDataStr : String); Begin Inherited; fDataStr := aDataStr; ... End; ... PendingJobs.AddJob (TMyJob.Create('Foobar')); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 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 by Thomas Breitkreuz