Página 1 de 1

Re: Macro de un objeto?

Publicado: Dom Mar 29, 2009 9:12 pm
por jose.luis
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

Re: Macro de un objeto?

Publicado: Dom Mar 29, 2009 11:12 pm
por jrcsistemas
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
>