Necesito ejecutar un proceso en un hilo (thread), no me sirve trabajarlo con TIMER.
La aplicacion al cabo de un tiempo se bloquea y un genera un GPF, estoy usando Harbour y Borland 7.0,
las librerias MT hbvmmt.lib de harbour y cw32mt.lib de Borland, este es el codigo :
- Code: Select all Expand view
nSeconds := 30
bThread := {|oMsgItem, nSeconds| DownloadReportes( oMsgItem, nSeconds )}
ACTIVATE WINDOW oWnd;
MAXIMIZED;
VALID lExit;
ON INIT ( OpenServerMySQL( oWnd ),;
Crear_AutoReporteZ(),;
MsgWinMainBar(),;
pThread := StartThread( bThread, oMsgItem, nSeconds ) )
StopThread( pThread )
WaitForThreads()
Return Nil
Function DownloadReportes( oMsgItem, nSeconds )
DEFAULT nSeconds := 10
nSeconds := nSeconds * 1000
while .T.
ExtraerReporteZ( oMsgItem )
ThreadSleep( nSeconds )
enddo
Return Nil