É possível abrir o objeto Viewer do Elipse E3 de dois modos diferente: com o Viewer Control ou com o Viewer Only da hardkey. Pode-se, portanto, alternar o modo do Viewer entre Control e Only de acordo com o usuário logado na sessão.
Para criar este mecanismo, siga os passos abaixo:
- Primeiramente, crie uma tela de Login onde seja possível passar os parâmetros nome do usuário e senha através de SetPoints. Nessa tela, teremos um botão de comando para executar o script que veremos mais abaixo. Configure a tela para que seja a tela inicial do objeto Viewer.
- Para criar o Setpoint da senha, utilize o objeto TextBox (Editor de Texto) da MSForm; na propriedade PasswordChar, adicione um caractere de sua preferência, como por exemplo um asterisco (*).
- Então, no script do botão Login, utilizaremos:
- Método LoginUser() do objeto Viewer: realiza o login passando a propriedade Value dos SetPoints.
- Propriedade User do objeto Viewer: verifica qual o usuário logado.
- Método ExecuteExternalApp() do objeto Viewer: abre o novo Viewer no modo Control ou no Only.
- Parâmetros no executável Viewer: passa o nome do Servidor, a Tela a ser aberta no novo Viewer, o modo de abertura do Viewer e os parâmetros utilizados no Login (usuário e senha).
- Método Exit() do objeto Viewer: fecha o Viewer com a tela de Login.
Assim, criamos esse exemplo de script:
- Sub CommandButton1_Click()
- Viewer = "C:\Program Files (x86)\Elipse Software\Elipse Power\Bin\E3Viewer.exe"
- pServer = "\\."
- pOnly = " -ReadOnly"
- pScreen = " -screen ScreenOperation"
- User = Screen.Item("spUser").Value
- Pwd = Screen.Item("spPwd").Value
- pLogin = " -PARAMS p1=" & User & " p2=" & Pwd
- IF Application.LoginUser(User, Pwd) THEN
- IF Application.User = "Admin" THEN
- 'Viewer Control
- Application.ExecuteExternalApp Viewer, pServer & pScreen & pLogin, "", 3
- ELSE
- 'Viewer Only
- Application.ExecuteExternalApp Viewer, pServer & pOnly & pScreen & pLogin, "", 3
- END IF
- Application.Exit()
- END IF
- End Sub
Finalmente, realizaremos o login novamente na tela que será aberta, usando os parâmetros já utilizados na tela de login. Exemplo:
- Sub ScreenOperation_OnStartRunning()
- 'Login
- Application.LoginUser Application.Params("p1"), Application.Params("p2")
- End Sub
Sendo assim, é possível alternar o objeto Viewer entre os modos Control e Only de acordo com o usuário que estiver logado na aplicação.
Artigos Relacionados
- KB-89210: Alternando o Viewer entre os modos Full e Only em tempo de execução.
- KB-29704: Abrindo o Viewer com tela diferente da tela inicial.
- KB-29791: Utilizando parâmetros passados ao Viewer durante comando de abertura.