AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Funktionszeiger in Thread übergeben sicher?
Thema durchsuchen
Ansicht
Themen-Optionen

Funktionszeiger in Thread übergeben sicher?

Ein Thema von klebe7 · begonnen am 28. Jan 2009 · letzter Beitrag vom 28. Jan 2009
Antwort Antwort
klebe7

Registriert seit: 2. Okt 2008
19 Beiträge
 
#1

Funktionszeiger in Thread übergeben sicher?

  Alt 28. Jan 2009, 00:46
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:

(...)

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);

(...)
(Es werden immer mehrere Threads auf einmal gestartet.)

Ist sowas threadsafe oder sollte man das besser anders machen, wenn ja, wie?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Funktionszeiger in Thread übergeben sicher?

  Alt 28. Jan 2009, 06:56
Winn in der Methode 'Form1.HTTPRedirect' keine VCL-Controls verwendet oder andere threadkritische Geschichten verwendet werden, ist das kein Problem.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Funktionszeiger in Thread übergeben sicher?

  Alt 28. Jan 2009, 09:02
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.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
klebe7

Registriert seit: 2. Okt 2008
19 Beiträge
 
#4

Re: Funktionszeiger in Thread übergeben sicher?

  Alt 28. Jan 2009, 14:11
@alzaimar: Ich muss in der Methode aber auf VCL-Controls zugreifen.
@sirius: Sowas habe ich leider nicht gefunden.

Gibt es keine andere Möglichkeit?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Funktionszeiger in Thread übergeben sicher?

  Alt 28. Jan 2009, 14:26
Du könntest erstmal das Ereignis in dem Thread ankommen lassen und dort dann gezielt über snychronize o.ä. die VCL ansteuern.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
klebe7

Registriert seit: 2. Okt 2008
19 Beiträge
 
#6

Re: Funktionszeiger in Thread übergeben sicher?

  Alt 28. Jan 2009, 14:36
Danke sirius, so werde ich es dann machen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz