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 | Expand

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: 42715
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 93 times
Been thanked: 103 times
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 | Expand

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: 187
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,

Oscar Ribeiro
Oscar Ribeiro
OASyS Informática
Fwh18.02 + xHarbour 1.2.3 + Bcc72
User avatar
Antonio Linares
Site Admin
Posts: 42715
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 93 times
Been thanked: 103 times
Contact:

Re: ScrollBar entra en recursividad

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply