ScrollBar entra en recursividad

Post Reply
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

ScrollBar entra en recursividad

Post by jlcapel »

Antonio,

Este código:

Code: Select all

function Main()

   local oWnd, oScr1, oScr2

   DEFINE WINDOW oWnd TITLE "ScrollBars"

   @ 2, 5 SCROLLBAR oScr1 OF oWnd ;
      ON UP   oScr1:GoTop() ;
      ON DOWN oScr1:GoBottom() HORIZONTAL
      

   @ 2, 15 SCROLLBAR oSrc2 OF oWnd ;
      ON UP   oWnd:Say( 2, 30, Time() ) ;
      ON DOWN oWnd:Say( 4, 30, "Hello!" ) ;
      ON PAGEUP     MsgInfo("Página Arriba") ;
      ON PAGEDOWN   MsgInfo("Página Abajo") 
      

   ACTIVATE WINDOW oWnd

return nil

//-----------
Hace que el msginfo del pageup o pagedown entre en recursividad.

Saludos,
José Luis Capel
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Luis,

Sí, lo habiamos visto, pero no es recursividad sino que el evento no deja de dispararse continuamente.

La solución es llamar a una función que use una variable static que cambie de estado para que la función no vuelva a procesarse hasta que no termine su trabajo:

Code: Select all

function Test()

   static lWorking := .f.

   if ! lWorking
     lWorking = .t.
     ... código a ejecutar
     lWorking = .f. 
   endif

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
ORibeiro
Posts: 174
Joined: Mon Oct 20, 2008 6:33 pm
Location: Itu, Sao Paulo, Brazil

Re: ScrollBar entra en recursividad

Post by ORibeiro »

Estoy teniendo el mismo problema, pero sólo con Windows Server 2003.

Si yo puedo desencadenar un comando en ScrollBar que se abre un cuadro de diálogo, en la flecha en el rollo que se ha pulsado no se congela y comienza a rodar locamente registros.

Muiiiito raro! Si alguien tiene alguna sugerencia, gracias.

Gracias,

_ Ribeiro
_ Ribeiro
OASyS Informática
Fwh18.02 + xHarbour 1.2.3 + Bcc72
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: ScrollBar entra en recursividad

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply