I think that when cVar1 get lost his focus and valid clause is evaluated the
pushbutton hit focus but not yet sets the buffer property.
You could try with:

FUNCTION Func1(xVar1, xGetList) 
RETURN xGetList[3]:hasFocus .or. !EMPTY(xVar1) 

Not tested, however, as i don't use cl53 behaviour.
Best regards.
Maurizio la Cecilia               

 

> -----Messaggio originale-----
> Da: Guillermo Varona Silupú [mailto:[email protected]] 
> Inviato: giovedì 17 settembre 2009 0.31
> A: Harbour Project Main Developer List.
> Oggetto: [Harbour] How do I know if the button was pressed?
> 
> In this code:
> ******************************************************
> #include "Inkey.ch"
> PROCEDURE Main
> LOCAL cVar1 := cVar2 := SPAC(10), oPsw, GetList := {}, lBtn := .T.
> SET(_SET_EVENTMASK, INKEY_ALL)
> MSETCURSOR(.T.)
> SETMODE(25,80)
> CLS
> @ 10, 10 SAY "Entrada1:" GET cVar1 VALID Func1(cVar1,GetList)
> @ 11, 10 SAY "Entrada2:" GET cVar2
> @ 12, 10 GET lBtn PUSHBUTTON CAPTION " E&xit " STATE {|| 
> ReadKill(.T.)} 
> COLOR "W/G,W+/G,G/N,W+/G"
> READ
> return
> 
> FUNCTION Func1(xVar1, xGetList)
> ? xGetList[3]:buffer
> wait
> RETURN !EMPTY(xVar1)
> *****************************************************
> How do I know if the button was pressed?
> 
> Buffer is supposed to contain this information, but always returns NIL
> The idea is to exit the program by pressing the button, even if this 
> cVar1 empty, but the VALID clause does not.
> 
> Any help / idea?
> 
> TIA
> Best Regards
> GVS
> 
> 
> 

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to