by Leonor Gonzalez » Fri Oct 28, 2005 12:29 pm
Este es el código que estoy utilizando:
// Genero el objeto get, esto esta dentro de un for
ObjGet := TGet():New( (aDefFields[i][1]+1)*GET_CHARPIX_H, aDefFields[i][2]*GET_CHARPIX_W, bBloq,, nWidth*GET_CHARPIX_W, 11.3, cPicture,,,,oFont, .F.,, .T.,, .F.,, .F., .F.,, .F.,,, .F. )
//leo la clausula when para ese get
lcWhen := aDefFields[i][6]
//armo un bloque con la clausula y otra variable
lcWhenBloq := "{||nFormEditPos:= " + STR( i, 3, 0 ) + "," + lcWhen + "}"
// le asigno la evaluacion del bloque al dato bWhen del get
ObjGet:bWhen := &( lcWhenBloq )
// le asigno la lectura del valid al objeto get
ObjGet:bValid := &( aDefFields[i][7] )
Cada vez que un get pierde foco los pasos que realiza son los siguientes:
* pasa por lostfocus de la clase tget
* entra en gotfocus de la clase tget para asignarle el foco al get siguiente
* evalua el valid del get que perdio foco
* realiza todos los when y en las ventanas que tengo mas de 30 get se ve como pasa uno por uno aparte de los mensajes
* le da foco al proximo get
Muchas Gracias. Saludos. Leonor