Utilizar o CreateLink em um XControl com XObject

Boa tarde,

Estou realizando uma aplicação que contem vários dispositivos iguais, e cada dispositivo tem seus respectivos valores de visualização, para isso criei uma tela modal, um XControl com a tela com os parâmetros necessários e para não ficar associando várias variáveis utilizei um XObject com todas as variáveis necessárias para o XControl, porém não estou conseguindo fazer o CreateLink entre o XControl em tela e o XObject na pasta dados. Poise preciso que dependendo de qual dispositivo o operador clicar tenho que associar com o outro dispositivo.

Criei esse código no OnPreShow

Item("SinoticoDespolpadeira1").Links.CreateLink "Equipamento", Application.GetObject("Dados.Despolpadeiras").PathName + "." + Arg

Esse é o código para abrir a tela modal no XControl

Application.DoModal "PopDespolpadeiras", , , , , , "Despolpadeira" + cStr(Despolpadeira.NrDespolpadeira), 1+2+16+64+256+2048

E esse é o print da pasta Dados

image

O erro que ocorre é esse

image

Seria, por acaso, Equipamento um propriedade do seu xc, cujo Type seja um xo, neste caso o Despolpadeira? Se sim, basta apenas:

Sub PopDespolpadeiras_OnPreShow(Arg)
    Item("SinoticoDespolpadeira1").Equipamento = _
            Application.GetObject("Dados.Despolpadeiras").PathName + "." + Arg 
End Sub

EDIT:
Ou ainda:

Sub PopDespolpadeiras_OnPreShow(Arg)
    Item("SinoticoDespolpadeira1").Equipamento = "Dados.Despolpadeiras." & Arg 
End Sub

Bom dia @leandrobpedro, Equipamento é o nome da propriedade do meu xc que é o xo.

image

image

Esse método que você me passou fica como se estivesse associado ou eu teria que colocar esse script para rodar toda a vez que desse 1 segundo por exemplo. Pois as tags envolvidas no xo ficam mudando.

Agradeço o contato.

Então, essas propriedades que ficam com ícone de corrente, que a elipse chama de “links indiretos”, não aparecem na coleção links, portanto penso que vc não irá conseguir utilizar o método CreateLink (inclusive um dos @param desses método é o tipo de conexão, se direto, reverso, tabela, etc…), e esse tipo de fonte, de fato, fica constante com essa “corrente”.

* Podemos aguardar alguém da Elipse pra confirmar isso que eu falei.

Os tags do xo ficam mudando de valor ou mudando de PathName? Enfim, penso que independe do que muda no xo não há problema, basta fazer a associação conforme minha resposta anterior apenas uma vez, no caso no OnPreShow().

1 Like

O ‘PathName’ não muda, mas as tags do xo ficam modificando como por exemplo uma leitura de um sensor, ou os booleanos que tenho dentro do xo.

Mas muito obrigado pela ajuda, vou testar aqui fazer desse modo que você comentou.

Só para concluir a pergunta, é exatamente com o @leandrobpedro comentou no primeiro post dele.

Encontrei esse KB procurando outro assunto. Então vou deixar aqui pra conhecimento.