Bruno, também não é possível acessar os objetos de uma Tela a partir de outra.
De novo, o Tag Contador, bem como o Tag Interno e o script tem que ser criados no objeto Viewer.
Bruno, também não é possível acessar os objetos de uma Tela a partir de outra.
De novo, o Tag Contador, bem como o Tag Interno e o script tem que ser criados no objeto Viewer.
Para não abrir em tela cheia, você deve especificar o frame
de interesse conforme citei na minha resposta anterior.
' Frame onde as telas devem abrir.
Set objFrame = Application.GetFrame("NomeDoFrame")
Segue link para download de exemplo.
Entendi. Vou mudar o script.
Pessoal muito obrigado pela atenção de vcs. Estou começando agora com elipse e embora tenha feito o treinamento, tenho muitas dificuldade em enteder o software já que nunca tinha mexido, e sou acostumado com outros tipos de programa e linguagem. Obrigado mesmo
Boa tarde.
So passando para avisar que deu certo os scripts de troca de tela, inclusive para que troque a tela apenas quando ficar um periodo de tempo inativo.
Obrigado pela atenção de todos.
Boa tarde pessoal.
Surgiu uma duvida a respeito do mesmo assunto.
Qual opção me diz se foi ativo ou nao a inatividade por um periodo de tempo.
Ex: Eu estou ativando um contador quando fik por 10 minutos em inatividade, porem gostaria que quando voltasse em atividade automaticamente desativasse, e no caso, precisei criar um botão para ele desativar, pois nao encontrei a opção para desativar a funcao.
Eu fiz isso em aplicação:
Criei um script no Viewer que guardava em tags internas os valores dos ponteiros X e Y e comparava, se os valores fossem iguais, eu disparava o tag timmer, se o valor fosse diferente, eu zerava o tag timmer.
Coloquei o script pra rodar a cada 5s, o tag timmer coloquei pra 9min55s
Como comparo esse valores.
Oq fiz:
Peguei a posicao do mouse X(GetMouseX), e copiei esse valor para uma tag interna. Agora preciso saber como ficar comparando esse valor, exemplo, parei de mexer no viewer salvou minha posicao do mouse na tag, quando voltar a mexer no viewer, vai alterar esse valor se comparado ao ultimo, entao realizar uma função.
Crie um Script no viewer pra ficar rodando continuo. Compara se seu TAG interno é igual ao “GetMouseX”.
Exemplo:
Crie um TAG interno do tipo “boolean” com o Nome “AplicacaoON”
No evento OnStartRunning do Viewer, atribua o valor “True” a ele.
Crie um evento novo no viewer cujo gatilho seja esse seu tag “AplicacaoON” e coloque a condição da ocorrência: "sempre que a expressão for verdadeira, marque a caixa “Repetir evento” e no período você coloca quanto tempo deseja.
Compare os valores de X e Y:
Nao consegui,
Abaixo oque fiz
Script apos inatividade do viewer ativar o contador e comecara trocar tela(ja funcionando)
Script para quando o mouse mexer posição, desativar contador que troca tela
Como você obtém os valores do “IntPosiçãoXMouse”?
na propria tag intPosiçãoXMouse
Value = GetMouseX
Você pode mandar a aplicação para eu ver?
felipe.pena@isaengenharia.com.br
Bom dia,
Interessante esta discussão, resolvi este problema primeiramente criando 2 tags no Viewer:
Depois alterei o evento padrão de inatividade do viewer da seguinte forma:
Sub Viewer_OnInactive()
Item(“Inatividade”).Value = True
Item(“StatusInatividade”).Value = GetMouseX() + GetMouseY()
End Sub
Em seguida, criei um evento personalizado no viewer assim:
E pronto. Agora eu posso fazer associações com o Tag Viewer.Inatividade para o que eu desejar.
Bom dia, acabei de encaminhar.
Obrigado pela atenção!
Para a aplicação que estava tentando, funcionou perfeitamente.
Coloquei para quando a expressão ser verdadeira, ativa o contador q faz a troca de tela, caso mexa no viewer desativa imediatamente a troca de telas.
Quem bom que deu certo!
Ao invés de ativar e desativar o tag contador pelo script você também poderia simplesmente fazer uma associação com o tag Viewer.Inatividade.
Exemplo:
Entendido.
Legal, obrigado!
Boa tarde. Estava precisando de algo parecido. Gostaria de apresentar em uma TV externa apenas 3 telas da minha aplicação, e elas tem que ficar alternado ciclicamente a cada 10s, por exemplo. Teria como fazer isso? Sem que impacte a operação de outros “viewers/operadores”
Bom dia!
Teria como assimilar essa troca de tela somente com um usuário?
Preciso criar uma apresentação em uma TV para supervisão das telas, porem não posso usar os usuários de operação para não impactar nas plantas!