Entonces se me ocurrió que para activar el depurador de VFP solamente cuando quería, sin ninguna condición podría usar esta tecla. El programa que usé siempre para llamar al depurador era:
IF _VFP.STARTMODE = 0 DEBUG SUPEND ENDIF
Si me olvidaba de quitarlo durante la generación del EXE , no habría problema, porque nunca se ejecutaría (
STARTMODE = 0 es inicio de la ventana de comandos).Entonces quedaría:
IF _VFP.STARTMODE = 0 AND ScrollLock() DEBUG SUPEND ENDIF
Así detengo mi programa cuando quiero, solamente presionando una tecla. Si quiero que continue presiono la tecla SCROLL LOCK y le doy continuar al depurador.
FUNCTION ScrollLock
LOCAL lnEstado
* La función de API GetKeyState también sirve para otras como NUMLOCK : 0x90
DECLARE INTEGER GetKeyState IN user32 LONG lnTecla
lnEstado = GetKeyState(0x91)
* Limpia la declaración si es VFP 8 o superior
IF VAL(_VFP.VERSION) >= 8.00
CLEAR DLLS GetKeyState
ENDIF
RETURN (lnEstado = 1)
ENDFUNC
Ricardo Geremia
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.