Acessar objeto a partir de um script em outra tela


(Kelvin Ângelus) #1

Boa tarde. Qual a sintaxe para acessar as propriedades de um objeto retângulo (retangulo1), por exemplo: retangulo1.BackgroundColor, pertencente a uma tela (Unid63) a partir do script em um commandbutton pertencente a uma outra tela (Unid61)? Já tentei de tudo aqui, usando Parent, GetObject, Item… enfim, nenhuma está dando certo. Dá erro: ‘A classe não dá suporte para automação’.

Muito obrigado.


(Luiz Fernando Freire dos Reis) #2

@kelvin, boa tarde.

Acredito que este tópico lhe ajude: Acessar objetos de outra tela via script

Sds.


(Kelvin Ângelus) #3

Boa tarde, Luiz Fernando. Eu li esse tópico antes. Então não é possível acessar sem utilizar um tag para isso?


(Luiz Fernando Freire dos Reis) #4

@kelvin,

Se a ideia é trocar informações entre telas, não é possível sem um intermediário (tag, xobject, bd, etc).

A não ser que queira, apenas, enviar um argumento ao chamar uma tela a partir de outra ([RESOLVIDO] Como escrever nas variáveis de um Xcontrol que está em outra tela? e Consultar dados em outra tela que contém E3Browser).

Sds.

EDIT 1: Corrigindo a informação anterior, caso esteja utilizando uma versão posterior à 4.7.234, tem a possibilidade de utilizar o método GetScreen conforme este artigo: https://kb.elipse.com.br/utilizando-os-metodos-getscreen-e-showscreen/ .

Exemplo de um botão na TelaInicial:

Sub CommandButton1_Click()
Msgbox Application.GetScreen("TelaHistorico").Item("Retangulo1").BackgroundColor
End Sub

image