FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda para: codeblock que no se eval煤a.
Posts: 139
Joined: Sun Apr 23, 2006 09:00 AM
Ayuda para: codeblock que no se eval煤a.
Posted: Fri Jul 30, 2010 07:33 AM

Hola.
Lo que pongo a continuaci贸n me funciona en FW195 pero no en FW+Harbour.

GET nNumero PICTURE "99"
...
cFuncion := "Funcion" + strzero(nNumero)

eval({||cFuncion})

Lo que hago es tener una serie de funciones definidas (Funcion01(), Funcion02(), Funcion03()...) y en base al c贸digo que da el usuario se ejecuta la que corresponda.
Alguna aclaraci贸n al respecto.
Gracias y un saludo,
Fernando Morales
Las Palmas de Gran Canaria

Un saludo,

Fernando

Las Palmas de Gran Canaria
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda para: codeblock que no se eval煤a.
Posted: Fri Jul 30, 2010 09:17 AM

Prueba asi:

cFuncion := "Funcion" + strzero(nNumero) + "()"

eval( {|| &cFuncion } )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 139
Joined: Sun Apr 23, 2006 09:00 AM
Re: Ayuda para: codeblock que no se eval煤a.
Posted: Fri Jul 30, 2010 12:59 PM

Antonio, errores al compilar:

Error E0047 Code block contains both macro and declared symbol references 'NFUNCION'

Esta es la definici贸n en el programa
REDEFINE BUTTON oBtn1 ID 991 OF oDlg ;
ACTION ( cFuncion := "Funcion" + strzero(nFuncion) + "()",;
eval({||&cFuncion}) )

Un saludo,

Fernando

Las Palmas de Gran Canaria
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Ayuda para: codeblock que no se eval煤a.
Posted: Fri Jul 30, 2010 07:50 PM

Prueba de esta manera:

bFuncion :={|| "Funcion" + strzero(nNumero) }

eval( bFuncion )

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda para: codeblock que no se eval煤a.
Posted: Fri Jul 30, 2010 09:08 PM

Fernando,

No declares cFuncion como "local", para que asi se declare publica por defecto, y cambia "Funcion" por "Function":

cFuncion := "Function" + strzero( nNumero ) + "()"

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion