i use Thread for ShFile API Function (copy,move etc)
Code: Select all
FUNCTION DoSHfunc( cAction, lConfirm, lPaperbin )
AADD( aSHThread, {} )
nLen := LEN( aSHThread )
aSHThread[ nLen ] := hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @DoSH2func(), cAction, lConfirm, lPaperbin )
AttachThreadInput( nMainThreadID, HMG_ThreadHBtoWinID( aSHThread[ nLen ] ), .T. )
Code: Select all
FUNCTION CloseThread()
FOR i := 1 TO LEN( aShThread )
IF aShThread[ i ] <> NIL
hb_threadDetach( aShThread[ i ] )
hb_threadQuitRequest( aShThread[ i ] )
aShThread[ i ] := NIL