Juan,
>
> cSelect := "select menu, nivel"+Alltrim( Str( AppData:nUsuarioNivel) )+"
> from accesos"
> AppData:oBase:Execute ( cSelect,,@aData)
> For i=1 to Len( aData )
> cMenu := aData[1] // por ej mnFacturas, valor de la propiedad
> cVarName del menu. Tambien probe con ::mnFacturas
> lHabilitado := aData[2] // .T. o .F.
> &cMenu.:lEnabled := lHabilitado
> Next
> Pero no funciona.
> Mi problema es como decir que mnFacturas es ::mnFacturas:lEnabled := .T. o
> .F.
>
Prueba
__objSendMsg(cMenu,"lEnabled", aData[2] en vez de &cMenu.:lEnabled :=
lHabilitado
Espero que te funcione.
Saludos,
José Luis Capel
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Re: Macro de un objeto?
-
- Mensajes: 180
- Registrado: Lun Sep 15, 2008 2:53 pm
Re: Macro de un objeto?
José.
El problema que cMenu es cadena de caracteres no objeto, porque es obtenido
de un campo de una tabla.
__objSendMsg(cMenu,"lEnabled", .F. )
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 3000
Estado: .F.
Descripción: Argument error
Operación: __OBJSENDMSG
Argumentos: [ 1] = Tipo: C Valor: mnVENTAS [ 2] = Tipo: C Valor:
lEnabled
Fichero:
Código error SO: 0
Otra cosa si pongo
__objSendMsg(::mnOpciones,"lEnabled", .F. )
No da error, pero tampoco me anula la opcion del menu.
::mnOpciones:lEnabled := .F.
Funciona perfecto. Anulando el menu.
Como le hago "entender" a Xailer que "mnOpciones" es el objeto
::mnOpciones.
Gracias
"José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
news:[email=49cfc80a@svctag-j7w3v3j....]49cfc80a@svctag-j7w3v3j....[/email]
> Juan,
>
>
>>
>> cSelect := "select menu, nivel"+Alltrim( Str( AppData:nUsuarioNivel) )+"
>> from accesos"
>> AppData:oBase:Execute ( cSelect,,@aData)
>> For i=1 to Len( aData )
>> cMenu := aData[1] // por ej mnFacturas, valor de la propiedad
>> cVarName del menu. Tambien probe con ::mnFacturas
>> lHabilitado := aData[2] // .T. o .F.
>> &cMenu.:lEnabled := lHabilitado
>> Next
>> Pero no funciona.
>> Mi problema es como decir que mnFacturas es ::mnFacturas:lEnabled := .T.
>> o .F.
>>
>
> Prueba
>
> __objSendMsg(cMenu,"lEnabled", aData[2] en vez de &cMenu.:lEnabled :=
> lHabilitado
>
>
> Espero que te funcione.
>
> Saludos,
> José Luis Capel
>
El problema que cMenu es cadena de caracteres no objeto, porque es obtenido
de un campo de una tabla.
__objSendMsg(cMenu,"lEnabled", .F. )
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 3000
Estado: .F.
Descripción: Argument error
Operación: __OBJSENDMSG
Argumentos: [ 1] = Tipo: C Valor: mnVENTAS [ 2] = Tipo: C Valor:
lEnabled
Fichero:
Código error SO: 0
Otra cosa si pongo
__objSendMsg(::mnOpciones,"lEnabled", .F. )
No da error, pero tampoco me anula la opcion del menu.
::mnOpciones:lEnabled := .F.
Funciona perfecto. Anulando el menu.
Como le hago "entender" a Xailer que "mnOpciones" es el objeto
::mnOpciones.
Gracias
"José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
news:[email=49cfc80a@svctag-j7w3v3j....]49cfc80a@svctag-j7w3v3j....[/email]
> Juan,
>
>
>>
>> cSelect := "select menu, nivel"+Alltrim( Str( AppData:nUsuarioNivel) )+"
>> from accesos"
>> AppData:oBase:Execute ( cSelect,,@aData)
>> For i=1 to Len( aData )
>> cMenu := aData[1] // por ej mnFacturas, valor de la propiedad
>> cVarName del menu. Tambien probe con ::mnFacturas
>> lHabilitado := aData[2] // .T. o .F.
>> &cMenu.:lEnabled := lHabilitado
>> Next
>> Pero no funciona.
>> Mi problema es como decir que mnFacturas es ::mnFacturas:lEnabled := .T.
>> o .F.
>>
>
> Prueba
>
> __objSendMsg(cMenu,"lEnabled", aData[2] en vez de &cMenu.:lEnabled :=
> lHabilitado
>
>
> Espero que te funcione.
>
> Saludos,
> José Luis Capel
>