Macros dentro de tGet():New()
Posted: Wed Sep 05, 2007 11:39 am
Hola a Todos...
En esta oportunidad me encuentro con el problema de que una serie de gets que defino dentro de un do while, cuyas variables son las celdas de un arreglo, al activarse el diálogo los datos de todos los gets comparten la ultima variable debido a que es el ultimo valor obtenido en _cItem...
Esto funciona: oGet[ &_cItem ] :=TGet():New(...)
Pero aGet[ &_cItem ] dentro de TGet():New(...) es rechazado por xHarbour... Error E0047 Code block contains both macro and declared symbol references
Para evitar el error del xHarbour hice esto:
Pero es asi cuando todos los gets quedan compartiendo la ultima variable del arreglo.
Recuerdo haber leído hace bastante tiempo una forma de hacer eso...
1GB de Gracias de antemano por los comentarios...
Giancarlo J. Sabattino S.
Valencia, Venezuela.
En esta oportunidad me encuentro con el problema de que una serie de gets que defino dentro de un do while, cuyas variables son las celdas de un arreglo, al activarse el diálogo los datos de todos los gets comparten la ultima variable debido a que es el ultimo valor obtenido en _cItem...
Code: Select all
nItem :=len( oGet )
_cItem :=strtrim( nItem, 2 )
nRow :=eval( bRow )-2
cPicture :=iif( .not. empty( ConfResult->Mascara ),;
alltrim( ConfResult->Mascara ),;
NIL )
lRight :=( ValType( aGet[ &_cItem ] )='N' )
oGet[ &_cItem ] :=TGet():New( nRow, ConfResult->Col, aGet[ &_cItem ], oResult:oDlg,;
ConfResult->Width, 10, cPicture,,,,,,, lPixels,,,,, lRight )
Pero aGet[ &_cItem ] dentro de TGet():New(...) es rechazado por xHarbour... Error E0047 Code block contains both macro and declared symbol references
Para evitar el error del xHarbour hice esto:
Code: Select all
bSetGet :=bSETGET( aGet[ &_cItem ] )
oGet[ &_cItem ] :=TGet():New( nRow, ConfResult->Col, bSetGet, oResult:oDlg,;
ConfResult->Width, 10, cPicture,,,,,,, lPixels,,,,, lRight )
Recuerdo haber leído hace bastante tiempo una forma de hacer eso...
1GB de Gracias de antemano por los comentarios...
Giancarlo J. Sabattino S.
Valencia, Venezuela.