ich würde dein Beispiel in etwa so gestalten:
Code: Alles auswählen
Structure VideoConvert
FileName$
EndFlag$
OKFlag.i
thread.i
EndStructure
Procedure MyThread(*Parameters.VideoConvert)
Debug *Parameters\FileName$
Debug *Parameters\EndFlag$
Delay(2000)
; hier der Aufruf von ffmpeg mit RunProgram...
*Parameters\OKFlag=1
EndProcedure
Define Parameters.videoConvert,Ende
Parameters\FileName$ = "blablabla.mov"
Parameters\EndFlag$ = "0"
Parameters\thread=CreateThread(@Mythread(),@Parameters)
Repeat
If Parameters\OKFlag=1
Debug "Video ist fertig OKFflag="+Str(Parameters\OKFlag)
Ende=1
EndIf
Until Ende=1
Code: Alles auswählen
EnableExplicit
Structure VideoConvert
FileName$
EndFlag.i
OKFlag.i
thread.i
EndStructure
Define Parameters.videoConvert,Ende,Video
Procedure MyThread(*Parameters.VideoConvert)
Debug *Parameters\FileName$
;Debug *Parameters\EndFlag
Delay(2000)
; hier der Aufruf von ffmpeg mit RunProgram...
*Parameters\OKFlag=1
*Parameters\EndFlag+1
EndProcedure
Procedure StartThread(*this.videoConvert,Video.s)
With *this
\FileName$=Video
\OKFlag=#False
\thread=CreateThread(@Mythread(),*this)
EndWith
EndProcedure
StartThread(Parameters,"Mein Video.mpg")
Repeat
If Parameters\OKFlag=1
Debug "Video ist fertig OKFflag="+Str(Parameters\OKFlag)
StartThread(Parameters,"Mein neues Video.mpg")
If Parameters\EndFlag=2 : Ende=1 : EndIf
EndIf
Until Ende=1