Skip to content
Menu

Knowledge Base

KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

Produkt: Elvis
Version: ab 2.0
Stand: 2002-07-25

Zusammenfassung

In der Elvis Bedienstation ab Version 2.0 ist der Benutzerwechsel über das Menü möglich, ohne die Bedienstation zu beenden. Im Kiosk-Mode (gesperrte Vollbilddarstellung) ist das Menü aber nicht erreichbar. Damit trotzdem ein Benutzerwechsel möglich ist, kann die nachfolgende Ereignisverarbeitung der Bedienstation verwendet werden.

Einzelheiten

Allgemeines:
In einer Berechnung kann eine Nachricht (Message) an Elvis gesendet werden, die einen Menübefehl simuliert. Damit lassen sich grundsätzlich alle Operationen der Bedienstation, die über ein Menü ausgelöst werden können, auslösen. Die für unseren Zweck notwendige Operation ist das Öffnen des Anmeldedialogs. Deshalb senden wir eine Nachricht, die einem Menübefehl (WM_COMMAND = &H0111) entspricht, mit der Kennnummer (ID) des Befehls zum Öffnen des Anmeldedialogs (ID_ELVISRUN_LOGIN = 35000).

Vorgehen (in der Elvis-Projektierung):
1. Es müssen mehrere Benutzer angelegt sein (klar, sonst kann der Benutzer nicht gewechselt werden).

2. Damit der Benutzerwechsel ausgelöst werden kann, sollte ein Kontrollelement (z.B. StateButtonControl) auf einer Seite angelegt werden. Es kann aber prinzipiell auch jedes andere Ereignis verwendet werden, um den Benutzerwechsel zu bewirken. Als Name des Kontrollelements sollte „Benutzerwechsel“ angegeben werden (auf der Eigenschaftsseite „Kontrollelement“).

3. Den Editor zur Ereignisverarbeitung der Seite öffnen (Eigenschaftsdialog der Seite>Ereignisse…).

4. Es wird eine Seiten-Ereignisverarbeitung der Bedienstation für das Click-Ereignis auf das Kontrollelement „Benutzerwechsel“ angelegt, die so aussieht:

//CODE:vb:Declare Function GetActiveWindow Lib „user32“ () As Long
Declare Function PostMessage Lib „user32“ Alias „PostMessageA“ (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function GetLastError Lib „kernel32“ () As Long
Const WM_COMMAND = &H0111
Const ID_ELVISRUN_LOGIN = 35000
Sub Benutzerwechsel_Click()
‚ Post a WM_COMMAND with ID_ELVISRUN_LOGIN to the main window
Dim hwnd As Long
hwnd = GetActiveWindow()
If PostMessage(hwnd, WM_COMMAND, ID_ELVISRUN_LOGIN, 0&) = 0 Then
MsgBox „PostMessage failed: “ & GetLastError()
End If
End Sub //CODE

ACHTUNG – Bitte dieses Script als change_user.txt herunterladen (2 KB) und dann über die Zwischenablage in die Seiten-Ereignisverarbeitung einfügen.

Bitte nicht aus dem Web heraus kopieren – hier können Sonderzeichen enthalten sein, die zu Fehlfunktionen führen!

Support Area

KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

Knowledge Base

Hier finden Sie Antworten, Problemlösungen und Beispiele zu unseren Produkten.
KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

Case Studies

Erfolgreich im Einsatz: Praxisbeispiele unserer Produkte und Individualentwicklungen.
KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

Support

Beschreiben Sie ihr Anliegen über unser Supportformular.
KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

Lizenzregistrierung

Registrieren Sie ihre Elvis-Lizenz!

IT GmbH · An der Kaufleite 12 · D-90562 Kalchreuth

KB050022 | BENUTZERWECHSEL IN EINER BERECHNUNG VERANLASSEN

BÜRO
Telefon: +49 911 5183490
E-Mail: info@it-gmbh.de

VERTRIEB
Telefon: +49 911 5183490
E-Mail: vertrieb@it-gmbh.de

partner-knx

© Copyright 2024. IT GmbH | designed by Appear Online