Seite 1 von 1
Mehrere Parameter an einen Thread übergeben?
Verfasst: 24.05.2007 13:18
von PureBasic4.0
Hi, Leute
Wie kann man bei Threads mehrere Parameter übergeben? Es gibt ja den Befehl
Aber wie kann man mehrere (ca. 2-3) Parameter übergeben? Der Beispielcode in der Manual benutzt auch nur einen Param.
Verfasst: 24.05.2007 13:37
von ChristianK
Geht nicht.
Verfasst: 24.05.2007 13:51
von Leonhard
Das klappt und wie. Mann mus nur ein bischen trixen:
Code: Alles auswählen
Structure Paramters
lParam2.l
sParam1.s
EndStructure
Procedure ThreadProc(*this.Paramters)
Debug *this\lParam2
Debug *this\sParam1
EndProcedure
Define prs.Paramters
With prs
\lParam2 = 34
\sParam1 = "Hallo, das ist ein Parameter!"
EndWith
Define hThread = CreateThread(@ThreadProc(), @prs)
WaitThread(hThread)
End
Verfasst: 24.05.2007 13:51
von Kiffi
ChristianK hat geschrieben:Geht nicht.
geht doch.
http://www.purebasic.fr/english/viewtop ... 3340#93340
(ist zwar 3.94er Code, jedoch aber leicht an 4.x anpassbar,
'Threadsichere Exe' in den Projekteinstellungen aktivieren)
Grüße ... Kiffi
Verfasst: 24.05.2007 13:53
von AND51
Indirekt geht das:
Gib der Prozefur alle Infos als String durch Komma getrennt und der Thread teilt den String mit StringField wieder auf.
Oder du übergibst dem Thread den Pointer zu einer strukturierten Variable, die alle Infos enthält.
Oder übergib ein Array/LinkedList...
Verfasst: 24.05.2007 14:01
von Kaeru Gaman
geil.. ihr überschlagt euch ja richtig...

Verfasst: 24.05.2007 14:07
von AND51
Wär ich beim Posten nicht weggegangen, wär ich erster...

Verfasst: 24.05.2007 14:30
von ChristianK
Übergeben kann man immer nur einen. Das ist die korrekte Antwort auf die gestellte Frage.
welcher Art der Parameter ist, ist euer Bier.
Verfasst: 24.05.2007 14:40
von Kiffi
ChristianK hat geschrieben:Das ist die korrekte Antwort auf die gestellte Frage.
ja, das stimmt in der Tat
Grüße ... Kiffi
Verfasst: 24.05.2007 16:53
von PureBasic4.0
OK. Danke! Daran hatte ich gar nicht gedacht