Page 1 of 1
Bug in clausula WHEN
Posted: Wed Jun 27, 2007 3:57 pm
by thefull
Miren te comportamiento:
DEFINE DIALOG oWnd SIZE 300,300
@1,1 BUTTON oBtn ACTION "HOLA" OF oDlg
oBtn:Disable()
ACTIVATE DIALOG oDlg
Se puede observar que el boton es desactivado.
Ahora, si le añadimos la clausula WHEN al boton, ya NO ESTA DISABLE()
No me digas que lo meta en el ACTIVATE , porque es ya ilegible de la cantidad de cosas que hay que hacer antes del activate...
¿ Alguna solución ?
Posted: Wed Jun 27, 2007 4:01 pm
by Antonio Linares
Rafa,
Antes del ACTIVATE el botón no tiene un handle válido de control, por lo que no se puede disable
Posted: Wed Jun 27, 2007 4:45 pm
by thefull
Antonio Linares wrote:Rafa,
Antes del ACTIVATE el botón no tiene un handle válido de control, por lo que no se puede disable
Antonio, no te has percatado que si no tienes la clausula WHEN SI QUE FUNCIONA!!!
Si le pones la clausula NO FUNCIONA... ¿ capichi.... ? jejeje
Posted: Wed Jun 27, 2007 4:59 pm
by Antonio Linares
Rafa,
Al enviarle el mensaje Disable() desde PRG se le está enviando un mensaje a bajo nivel con SendMessage() de Windows, que entrá en la cola de mensajes de Windows. Depende de los mensajes pendientes que llegue ó no a procesarse, pues antes tiene que tener un handle valido
No es fácil de explicar
Posted: Wed Jun 27, 2007 5:03 pm
by thefull
Antonio Linares wrote:Rafa,
Al enviarle el mensaje Disable() desde PRG se le está enviando un mensaje a bajo nivel con SendMessage() de Windows, que entrá en la cola de mensajes de Windows. Depende de los mensajes pendientes que llegue ó no a procesarse, pues antes tiene que tener un handle valido
No es fácil de explicar
Osease, que me estas diciendo, que ahora, depende de los eventos del sistema operativo, puede que NO ME FUNCIONE SIN LA CLAUSULA WHEN ?
Vaya hombre, ahora me va a tocar deshacer lo hecho....
Posted: Wed Jun 27, 2007 6:17 pm
by Antonio Linares
Si haces el :Disable() desde el ON INIT te aseguras de que tiene un handle válido y que el mensaje le va a llegar al control