Página 1 de 1

Problemas con TIMER

Publicado: Vie Oct 14, 2005 6:18 am
por Jorge Mason
Estimados,
Creo un proyecto y un timer con lEnable en .F.
Para iniciarlo coloco un botón que hace oTimer1:Enable(), pero el TIMER no
se inicia.
#include "Xailer.ch"
CLASS TForm1 FROM TForm
COMPONENT oTimer1
COMPONENT oEdit1
COMPONENT oButton1
METHOD CreateForm()
METHOD Timer1Timer( oSender )
ENDCLASS
#include "Form1.xfm"
//---------------------------------------------------------- --------------------
METHOD Timer1Timer( oSender ) CLASS TForm1
oSender:Disable()
oSender:oParent:oEdit1:Value = seconds()
oSender:Enable()
RETURN Nil
Saludos
Jorge

Problemas con TIMER

Publicado: Vie Oct 14, 2005 6:24 am
por Jorge Mason
Mis disculpas porque cuesta entender esta nueva forma de escribir los
programas
Era error mio, he correjido la función,
Antes :
METHOD Timer1Timer( oSender ) CLASS TForm1
oSender:Disable()
oSender:oParent:oEdit1:Value = seconds()
oSender:Enable()
RETURN Nil
El error era que aproveche de llamar a la misma función del TIMER para
iniciarlo, es decir, la función Timer1Timer() la llamaba desde un boton,
pero inicialmente oSender era el Timer, asi que esta función llamada desde
el botón no servía para activar el TIMER.
Ahora :
METHOD Timer1Timer( oSender ) CLASS TForm1
oSender:oParent:oTimer1:Disable()
oSender:oParent:oEdit1:Value = seconds()
oSender:oParent:oTimer1:Enable()
RETURN Nil
En todo caso es perfectamente entendible la forma de trabajar, un poco
incomodo pero lógico al fin y al cabo.
Saludos
Jorge Mason
"Jorge Mason" <jmason@chilesat.net> escribió en el mensaje
news:[email=434f318f@ozsrvnegro.ozlan.local...]434f318f@ozsrvnegro.ozlan.local...[/email]
> Estimados,
>
> Creo un proyecto y un timer con lEnable en .F.
>
> Para iniciarlo coloco un botón que hace oTimer1:Enable(), pero el TIMER no
> se inicia.
>
> #include "Xailer.ch"
>
> CLASS TForm1 FROM TForm
>
> COMPONENT oTimer1
> COMPONENT oEdit1
> COMPONENT oButton1
>
> METHOD CreateForm()
> METHOD Timer1Timer( oSender )
>
> ENDCLASS
>
> #include "Form1.xfm"
>
> //---------------------------------------------------------- --------------------
>
> METHOD Timer1Timer( oSender ) CLASS TForm1
> oSender:Disable()
> oSender:oParent:oEdit1:Value = seconds()
> oSender:Enable()
> RETURN Nil
>
> Saludos
> Jorge
>

Problemas con TIMER

Publicado: Vie Oct 14, 2005 9:24 am
por jfgimenez
Jorge,
> Ahora :
> METHOD Timer1Timer( oSender ) CLASS TForm1
> oSender:oParent:oTimer1:Disable()
> oSender:oParent:oEdit1:Value = seconds()
> oSender:oParent:oTimer1:Enable()
> RETURN Nil
>
> En todo caso es perfectamente entendible la forma de trabajar, un poco
> incomodo pero lógico al fin y al cabo.
Tal y como lo has escrito sí es un poco incómodo. Pero si lo escribes así:
METHOD Timer1Timer( oSender ) CLASS TForm1
::oTimer1:Disable()
::oEdit1:Value = seconds()
::oTimer1:Enable()
RETURN Nil
ya no lo es tanto ;-)
Debes tener en cuenta que todos los componentes y controles que pongas en un
formulario están declarados como DATAs dentro del mismo, y por lo tanto son
accesibles desde cualquier método del formulario, incluidos los métodos
correspondientes a los eventos, usando simplemente el operador Self (::)
--
Un saludo,
José F. Giménez

Problemas con TIMER

Publicado: Vie Oct 14, 2005 12:48 pm
por Jorge Mason
Eso está muy bien
Gracias
Jorge
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:434f5d1e$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Jorge,
>
>> Ahora :
>> METHOD Timer1Timer( oSender ) CLASS TForm1
>> oSender:oParent:oTimer1:Disable()
>> oSender:oParent:oEdit1:Value = seconds()
>> oSender:oParent:oTimer1:Enable()
>> RETURN Nil
>>
>> En todo caso es perfectamente entendible la forma de trabajar, un poco
>> incomodo pero lógico al fin y al cabo.
>
> Tal y como lo has escrito sí es un poco incómodo. Pero si lo escribes así:
>
> METHOD Timer1Timer( oSender ) CLASS TForm1
> ::oTimer1:Disable()
> ::oEdit1:Value = seconds()
> ::oTimer1:Enable()
> RETURN Nil
>
> ya no lo es tanto ;-)
>
> Debes tener en cuenta que todos los componentes y controles que pongas en
> un formulario están declarados como DATAs dentro del mismo, y por lo tanto
> son accesibles desde cualquier método del formulario, incluidos los
> métodos correspondientes a los eventos, usando simplemente el operador
> Self (::)
>
>
> --
> Un saludo,
>
> José F. Giménez
>