ON INIT
Posted: Fri Jan 18, 2008 8:53 am
Antonio, una de las cosas que más 'rabia' que me da en Fivewin, es la que tener que realizar la INICIALIZACION de alguna cosa en el method ON INIT del correspondiente Dialogo/Ventana.
Creo que seria MUY INTERESANTE dotar una VARIABLE a la clase TCONTROL bINIT.
Asi, todos los controles pueden tener la clausula ON INIT que será lanzado en el method Initiate de la clase Dialog y/o en las que sean.
Entonces METHOD INITIATE() CLASS DIALOG,
simplemente debe de recorrer el ::aControls, evaluando los controles;
Asi, podemos hacer MUCHO mas legible el codigo;
¿ Que piensas sobre esta implementación ? La verdad es que llevaba la mosca detrás de la oreja sobre el como evitar tener que escribir 200 lineas en el ON INIT del Dialogo , y la verdad es que no me gustaba nada.
Creo que seria MUY INTERESANTE dotar una VARIABLE a la clase TCONTROL bINIT.
Asi, todos los controles pueden tener la clausula ON INIT que será lanzado en el method Initiate de la clase Dialog y/o en las que sean.
Entonces METHOD INITIATE() CLASS DIALOG,
simplemente debe de recorrer el ::aControls, evaluando los controles;
- Code: Select all Expand view
Aeval( ::aControls,{|o|if( o:bInit != NIL , Eval( o:bInit, o ), ) }
Asi, podemos hacer MUCHO mas legible el codigo;
- Code: Select all Expand view
DEFINE BUTTON oBtn ;
ON INIT oBtn:Hide
¿ Que piensas sobre esta implementación ? La verdad es que llevaba la mosca detrás de la oreja sobre el como evitar tener que escribir 200 lineas en el ON INIT del Dialogo , y la verdad es que no me gustaba nada.