Error al compilar

Post Reply
User avatar
Willi Quintana
Posts: 859
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Error al compilar

Post by Willi Quintana »

Hola Amigos,,,
Debo controlar 60 botones, asi que lo hago de esta manera:

FOR nCont := 1 TO 60
REDEFINE BTNBMP oMesa[nCont] ;
RESOURCE "VACIA" NOBORDER ;
ID (200 + nCont) OF oFld:aDialogs[1] ;
ACTION ( OpcionMesa(1, ::nId - 200) )
NEXT nCont
oMesa[::nId]:bRClicked := {|nRow,nCol| OpcionMesa(2, ::nId - 200)}

aqui al compilar sale un error, al parecer no acepta ::nId, ::nId me devuelve el numero del identificador del btnbmp, asi se que btnbmp he presionado...

Alguna solucion??
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Willi,

Que error te sale ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Willi Quintana
Posts: 859
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Post by Willi Quintana »

Ups. Sorry, olvide mencionarlos

En este codigo.

FOR nCont := 1 TO 60
REDEFINE BTNBMP oMesa[nCont] ;
RESOURCE "VACIA" NOBORDER ;
ID (200 + nCont) OF oDls ;
ACTION ( OpcionMesa(1, ::nId - 200) )
NEXT nCont
oMesa[::nId]:bRClicked := {|nRow,nCol| OpcionMesa(2, ::nId - 200)}


El error sale en la linea roja

WARNING c1003 AMBIGUOS REFERENCE "SELF"

Salu2
Willi
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Willi,

Prueba esto:

SetRClicked( oMesa )

oMesa[ oMesa:nId ]:bRClicked = { | nRow, nCol | OpcionMesa( 2, oMesa:nId - 200 ) }

return nil

y llama a SetRClicked() antes del NEXT

Si no funcionase así, prueba con:

SetRClicked( oMesa, nCount )

oMesa[ nCount ]:bRClicked = { | nRow, nCol | OpcionMesa( 2, nCount - 200 ) }

Esto es a lo que se llama "detached locals" (variables locales que quedan "atrapadas" dentro de un codeblock :)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply