![]() |
Funktionszeiger in Thread übergeben sicher?
Hallo,
Ich wollte mal fragen, ob sowas, wie unten ohne Probleme möglich ist oder ob das irgendwelche negativen Auswirkungen auf mein Programm haben kann.
Delphi-Quellcode:
(Es werden immer mehrere Threads auf einmal gestartet.)(...) procedure mythread; begin with TIdHTTP.Create do try OnRedirect := Form1.HTTPRedirect(...); Get(...); finally Free; end; end; (...) for i := 1 to 10 do BeginThread(nil,0,@mythread,nil,0,tid); (...) Ist sowas threadsafe oder sollte man das besser anders machen, wenn ja, wie? :idea: |
Re: Funktionszeiger in Thread übergeben sicher?
Winn in der Methode 'Form1.HTTPRedirect' keine VCL-Controls verwendet oder andere threadkritische Geschichten verwendet werden, ist das kein Problem.
|
Re: Funktionszeiger in Thread übergeben sicher?
Wie schon gesagt: Es kann Probleme geben.
Aber kann man so einen Request nicht auch schon von den indys her threaded starten? Ich kenn mich mit den indys nicht aus. Aber bei dem Umfang der Bibliothek würde es mich wundern, wenn diese Funktionalität nicht dabei ist. |
Re: Funktionszeiger in Thread übergeben sicher?
@alzaimar: Ich muss in der Methode aber auf VCL-Controls zugreifen. :(
@sirius: Sowas habe ich leider nicht gefunden. :( Gibt es keine andere Möglichkeit? |
Re: Funktionszeiger in Thread übergeben sicher?
Du könntest erstmal das Ereignis in dem Thread ankommen lassen und dort dann gezielt über snychronize o.ä. die VCL ansteuern.
|
Re: Funktionszeiger in Thread übergeben sicher?
Danke sirius, so werde ich es dann machen. :wink:
|
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