Page 1 of 1

Una sobre bAction

Posted: Fri Jan 04, 2008 8:44 pm
by Loren
estimados compañeros:

Os muestro el siguiente bucle:
Tengo definido 12 buttons y mediante este bucle declaro _ y el Action:

Local x=1
Do while .not. eof()
obtnF[x]:cCaption:=( familia->texto_tecl )
obtnF[x]:bAction :={ || msginfo( str (x) ) }
x++
skip
if x>12
exit
endif
enddo

Pero el problema está en que el Action que me muestra, en cualquier de los 12 botones es siempre el mismo, es decir, 13, cuando debería ser: 1,2,3,4,5,6.... 12. El captión me lo muestra perfectamente.

¿ Alguna sugerencia para arreglar el Action ?
Mil gracias. LORENZO.

Posted: Fri Jan 04, 2008 9:47 pm
by Antonio Linares
Tienes que usar lo que se denomina "detached locals":

Local x=1
Do while .not. eof()
obtnF[x]:cCaption:=( familia->texto_tecl )
obtnF[x]:bAction := GenBlock( x )
x++
skip
if x>12
exit
endif
enddo

function GenBlock( x )

return { || msginfo( str (x) ) }