Ist es möglich 2 Funktionen parallel zueinander auszuführen? z.B wenn ich einen Button drücke und dann einen 2., dass beide Funktionen ausgeführt werden gleichzeitig?
Quote:
Call
$lpStartRoutine = DllCallbackRegister('AdditionalThread', 'int', 'ptr')
If $lpStartRoutine == 0 Then
MsgBox(0x10, "Error", "DllCallbackRegister failed")
Exit
EndIf
Func AdditionalThread($void)
MsgBox("", "", "Additional Thread")
EndFunc ;==>AdditionalThread
Func CreateThread($LPTHREAD_START_ROUTINE)
$handle = DllCall("kernel32.dll", "hwnd", "CreateThread", "ptr", 0, "dword", 0, "long", DllCallbackGetPtr($LPTHREAD_START_ROUTINE), "ptr", 0, "long", 0, "int*", 0)
Return $handle[0]
EndFunc ;==>CreateThread
CreateThread($lpStartRoutine)
MsgBox("", "", "Mainthread")
Wenn man beides in eine Whileschleife packt ist es aber nichtmehr ParallelQuote:
wenn du beies in einer schleife einbaust dann funktioniert das ohne probleme!
durch den button kannst du z.b. eine variable von false auf true setzen sodass der teil in der schleife dann ausgeführt wird.
ansonsten gibt es bestimmt auch noch eine andere lösung aber dazu müsstest du dein problem mal genauer schildern.
er möchte auch nur, dass sie gleichzeitig startenQuote:
naja wirklich parallel kannst du sowieso nichts laufen lassen (auch nicht mit threads!)
dazu müsstest du dich schon mit multiprocessing auseinandersetzen aber ich denke einfach mal, dass das hier nicht der fall sein wird ;-)
AdlibRegister("Funk1" ,1)
AdlibRegister("Funk2" ,1)
.....
Funk Funk1()
AdlibUnRegister("Funk1")
.....
EndFunc
Func Funk2()
AdlibUnRegister("Funk2")
....
EndFunc