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.

Como cambiar propiedades de un label desde otro prg

Foro público de Xailer en español
Responder
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Como cambiar propiedades de un label desde otro prg

Mensaje por ddupre »

Hola Foro,

Vendo dando vueltas para poder acceder a las propiedades de un oLabel de un form, desde un PRG que contiene solamente una serie de funciones.
En concreto lo que pretendo hacer es que el Label se vea o no se vea según cierta condición que se controla en el PRG

¿Cual es la sintaxis que debo usar? he probado de todo pero ninguna forma me funciona.

Desde ya muchas gracias.
Daniel
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

Re: Como cambiar propiedades de un label desde otro prg

Mensaje por Hurricane »

olá,

Se você tem o objeto do Form:

Código: Seleccionar todo

oFrm:oLabe1:lVisible:=nOpc = 3
Developments | Trainings | Projects
Site | E-mail | Messenger | YouTube
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Re: Como cambiar propiedades de un label desde otro prg

Mensaje por ddupre »

Eric
Muchas gracias por su ayuda.
En mi caso el Form fue creado desde el IDE de Xailer, ¿como se obtiene el objeto de dicho Form?

Gracias
Un saludo
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

Re: Como cambiar propiedades de un label desde otro prg

Mensaje por Hurricane »

eu não sei como esta organizado o seu código/funções.
O Form (com o label) esta aberto?

Exibindo o título e nome da classe de todos os forms abertos:

Código: Seleccionar todo

AEVAL( application:aForms, {|o| LOGDEBUG(o:cText, o:classname) } )
procurar o object do Form:

Código: Seleccionar todo

cFormName:='?????' 
if (nPos:=ASCAN( application:aForms, {|o|lower(o:classname) == lower(cFormName)} )) > 0
   application:aForms[nPos]:oLabel???:lVisible:=.t. // .f.
endif
ddupre escribió: Jue Oct 21, 2021 11:29 pm En mi caso el Form fue creado desde el IDE de Xailer, ¿como se obtiene el objeto de dicho Form?
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Re: Como cambiar propiedades de un label desde otro prg

Mensaje por ddupre »

Muchas gracias por enseñarme eso, lo desconocía.

Sabiendo eso y la sugerencia anterior, se me ocurrió hacer esto:
1) Declaré una variable pública llamada oForm1 y utilicé el evento on initialize del Form para asignarla.

METHOD FormInitialize( oSender ) CLASS TForm1

oForm1 := oSender

RETURN Nil

2) Luego en el PRG que contiene la serie de funciones pude hacer esto:

oForm1:oLabel1:lVisible := .T.


No se si es 100% correcta esa manera de hacerlo, pero funcionó.

Muchas gracias
Un Saludo
Avatar de Usuario
Hurricane
Mensajes: 262
Registrado: Mar Mar 24, 2015 10:21 am
Ubicación: Brasil
Contactar:

Re: Como cambiar propiedades de un label desde otro prg

Mensaje por Hurricane »

Se o form correto estiver ativo, no seu PRG de funções use:

Código: Seleccionar todo

with object application:oActiveForm
   :oLabel:lVisible:=.t.
end with

neste caso prefira self:

Código: Seleccionar todo

METHOD FormInitialize( oSender ) CLASS TForm1
oForm1 := self
RETURN Nil
Developments | Trainings | Projects
Site | E-mail | Messenger | YouTube
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Re: Como cambiar propiedades de un label desde otro prg

Mensaje por ddupre »

He aprendido algo nuevo y me ha quedado claro.
Muchas gracias por su tiempo y ayuda

Un Saludo
Responder