Problema con WaitForSingleObject
Publicado por Javi (4 intervenciones) el 03/03/2003 08:37:18
hola, de antemano gracias :)
Tengo un problema... tengo un hilo que hace una espera infinita, a la espera de un evento.
ManejadorCambio := FindFirstChangeNotification
( pchar(Path),
FALSE, FILE_NOTIFY_CHANGE_FILE_NAME);
...
WaitForSingleObject ( ManejadorCambio, INFINITE );
...
Para cerrar la aplicación y cerrar bien el hilo, he pensado, poner en el terminate del hilo :
procedure TT1.Terminate;
begin
inherited;
// Mando el Evento para despertar al hilo
PulseEvent( ManejadorCambio);
end;
y asi conseguir que el hilo despierte de su espera y termine correctamente, pero esto que en teoria deberia de funcionar sin mas problemas, no me funciona, he intentado duplicar el manejador y hacer el "PulseEvent( Manejador2 )" con la copia, pero nada, que no hay manera. A ver si alguien me puede hechar un mano :)
Un saludo y de nuevo gracias :)
Javi
Tengo un problema... tengo un hilo que hace una espera infinita, a la espera de un evento.
ManejadorCambio := FindFirstChangeNotification
( pchar(Path),
FALSE, FILE_NOTIFY_CHANGE_FILE_NAME);
...
WaitForSingleObject ( ManejadorCambio, INFINITE );
...
Para cerrar la aplicación y cerrar bien el hilo, he pensado, poner en el terminate del hilo :
procedure TT1.Terminate;
begin
inherited;
// Mando el Evento para despertar al hilo
PulseEvent( ManejadorCambio);
end;
y asi conseguir que el hilo despierte de su espera y termine correctamente, pero esto que en teoria deberia de funcionar sin mas problemas, no me funciona, he intentado duplicar el manejador y hacer el "PulseEvent( Manejador2 )" con la copia, pero nada, que no hay manera. A ver si alguien me puede hechar un mano :)
Un saludo y de nuevo gracias :)
Javi
Valora esta pregunta


0