Descrição:
É possível mostrar em múltiplos Viewers todos os usuários que estão logados no Servidor?
Solução:
Sim. Na versão 5.5 do Elipse E3, foi criado no E3 Server o objeto do tipo ServerNode Informações do Servidor (“[?Server]”). A partir deste objeto, é possível ter acesso às Informações da Sessão.
A utilização de colchetes na referência a este objeto em scripts, como por exemplo “[?Server].Clients.Viewers”, é obrigatória.
Logo depois, está o exemplo de script para retornar o nome de login do usuário da sessão, juntamente com o nome da máquina cliente:
set obj = Application.GetObject("[?Server].Clients.Viewers") i=1 For each ii in obj msg = "" msg = msg & "Item: " & i & chr(10) & chr(13) msg = msg & "User: " & obj.Item(i).User & chr(10) & chr(13) msg = msg & "Machine: " & obj.Item(i).Machine & chr(10) & chr(13) i=i+1 msgbox msg next
Para maiores informações sobre o objeto (“[?Server]”), consulte o seguinte artigo: Objeto Informações do Servidor (“[?Server]”).
Para versões inferiores a 5.5, o procedimento para mostrar os usuários logados em múltiplos Viewers está descrito abaixo.
A aplicação exemplo em anexo lista os usuários que estão logados no Servidor, considerando múltiplos Viewers na rede.
Para isso, utilizamos um tag interno na pasta de Dados, que funciona como um vetor (array) de tal forma que cada posição do vetor armazena um usuário logado (até um número máximo de usuários). Para mais informações sobre vetores, leia o artigo relacionado.
NOTA 1: O botão de fechar da janela do Viewer foi desabilitado para que o operador não se esqueça de deslogar o usuário. Foi criado um botão na tela que além de fechar o Viewer faz um Logout.
NOTA 2: Neste sistema, não é possível usar Viewers-Only, pois estes não têm permissão de escrita no servidor.
Artigos Relacionados
- KB-30127: Utilizando um tag interno como vetor (Array).
- Objeto Informações do Servidor (“[?Server]”).