Necesito ayuda.
Tego un:
Do While
doEvents
Loop
Que se dedica a leer lineas de un archivo largisimo.
Si yo quisiera cerrar el programa mientras esta leyendo solo consigo hacer desaparecer la ventana del programa pero no el proceso, que sigue leyendo.
Sabeis alguna manera sencilla de cerrar todo el programa?
gracias
Como??? Si cierras el archivo/proyecto todavia sigue leyendo??? :-\
si es algo raro, pero es asi, el formulario o ventana del programa (segun el caso) desaparece el evento queryunload se produce pero el proceso no acaba, sigue trabajando y cuando termina vuelve a mostrar la pantalla del programa.
comprobado mas en detalle se producen los eventos QueryUnload y Unload pero no el evento Terminate, el cual deberia producirse,
es que no quiero tirar de Api para matar el propio proceso, creo que tiene que ver alguna forma sencilla de negociar una solucion con el prograna.
he provado a poner una Variable a True en el evento QueryUnload, y en el Do While decirle que cuando la Variable sea True que haga Exit Do
pero sigue igual
Para terminar utiliza End :)
Tambien se puede utilizar apis:
Private Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" Alias "GetCurrentProcess" () As Long
private sub command1_click()
terminateprocess getcurrentprocess, 0
end sub
Saludos ;)
o simplemente podriasusar un comando at con el nombre de tu proceso y listo.
Gracias a todos ya lo he solucionado,
el QueryUnload estaba en un MDIForm y el Do While en un Child Form y se me olvido poner Publica la variable en el modulo.
Saludos