Concatenar string e utiliza-la como fonte de XObject

Boa tarde, estou tentando utilizar uma “palavra” concatenada em um script onde este se relaciona com a fonte de dados do meu XObject .

image

Rodando a Aplicação e utilizando um MsgBox eu tenho a seguinte informação:

image

A minha concatenação está de acordo com o endereço que necessito utilizar de referencia para uma propriedade do E3Chart:

image

O que ocorre é um erro no script falando que o tipo de dado é incompatível. Utilizei outra MsgBox para ver o tipo do tag e ela me retornou uma string (já esperava isso). Se eu digito diretamente “hp_xc_grafico_fonte_g1_tag1.trip_hh” o E3 “entende” o local de procura e o mesmo é tratado como uma variável do tipo Double retornando o valor correto (Nesse caso 55). A pergunta é como posso fazer para converter essa string que eu criei eu algo que o E3 interprete da mesma forma que a Double?

1 Like

Olá Fernando!

Só para entender, o que é o G1_TAG1 e o que é o TRIP_HH?

Olá
G1_TAG1 é uma propriedade do meu XO que utilizo para o XC dos meus gráficos.

TRIP_HH é uma propriedade do XO_STATUS_ANALOGICO que esta relacionado ai na figura.

E onde está o script?

O Script está no meu XC_GRAFICO dentro do E3Chart. Como comentei funciona se eu defino diretamente na propriedade.

Axes.Item(“EixoVertical”).NormalBandHighValue = HP_XC_GRAFICO.FONTE.G6_TAG13.TRIP_HH

O E3 assume que essa parte a direita é uma variável do tipo Double com o respectivo valor e retorna ele porem se eu crio essa palavra concatenando elementos a variável criada é uma string e o e3 não consegue interpretar o caminho desejado retornando erro de tipo de variável válida.

É o caso de usar a função Execute do VBScript. Por exemplo:

Execute("SET XO = HP_XC_GRAFICO.FONTE.G" & GROUP & "_TAG" & TAG)

Depois você acrescenta a propriedade na hora de atribuir o valor. Por exemplo:

Axes.Item("EixoVertical").NormalBandHighValue = XO.TRIP_HH

1 Like

Funcionou Paulo.

Muito obrigado!

1 Like