(modifico y simplifico el post de antes)
Estoy realizando unos ajustes y me he topado con algo que a mi parecer es curioso. A ver si me explico, en el siguiente código:
- Code: Select all Expand view
#include 'fivewin.ch'
Function Main()
Local oDlg := TDialog():New()
Local oGet1 := Nil
Local oGet2 := Nil
Local cVar1 := 'XXXXXXXXXX'
Local cVar2 := 'XXXXXXXXXX'
@ 1, 1 GET oGet1 VAR cVar1 OF oDlg PICTURE '@S20' SIZE 40,10
oGet1:bLostFocus := {||MsgInfo(1)}
@ 2, 1 GET oGet2 VAR cVar2 OF oDlg PICTURE "@S20" SIZE 40,10
oGet2:bLostFocus := {||MsgInfo(2)}
oDlg:Activate()
Return ( Nil )
Cuando pulso enter en el get1 "primero" me evalúa el blostfocus de get2 y luego el blostfocus del get1, por lo que el resultado es primero MsgInfo(2) y luego MsgInfo(1).
Porque lo hace así? en caso de ser esta la forma en que realiza las evaluaciones, hay alguna forma de evaluar primero la salida del get1 antes de nada?
gracias y salud!