Duplizieren des Clients per Prozedur

Die geänderte Lizenzierung der 5.6 – ein User pro Arbeitsplatz unabhängig von der Anzahl der Datenbankverbindungen – schafft Raum für neue Anwendungsmodelle. Die Verwendung mehrerer Client-Instanzen ohne erneute Benutzeranmeldung ist dabei ein wichtiger Baustein.


Ab der 5.6.05 kann per Prozedurbefehl eine weitere Instanz des Clients gestartet werden. SysClone() startet den Client aus demselben Verzeichnis wie die schon laufende Instanz. Wahlweise kann entweder der Standard- oder der Advanced-Client ausgeführt werden. Der Rückgabewert ist die Prozess-ID der neuen Instanz.

Optional kann eine abweichende Startprozedur für den Client angegeben werden. Zusätzlich lasssen sich auch Kommandozeilen-Parameter an die neue Client-Instanz übergeben. Last but not least kann auch noch ein abweichender CONZEPT 16-Benutzer verwendet werden, das Kennwort muss dann allerdings bei SysClone() mit übergeben werden.

Die Vorteile der Funktion bestehen zum einen im Wegfall der erneuten Eingabe von Benutzernamen und Kennwort, zum anderen ist keine Kenntniss des ursprünglichen Programmverzeichnisses notwendig.

Durch weitere Instanzen des Clients lassen sich unabhängige Frames ausführen, wodurch beispielsweise eine ständiger Fensterwechsel innerhalb der Applikation entfallen kann.

5 Antworten

  1. Danke. Unsere Anwender werden sich freuen. Auswertungen und längere Verarbeitungsprozeduren können damit ohne separate Anmeldung durchgeführt werden.

  2. Wie generieren bei uns eine Tray-Instanz über SysExecute und kommunizieren mit ihr über Socket.
    Falls diese Instanz z.B. vom Benutzer beendet wurde, wäre es schön, wenn man das Vorhandensein des Prozesses über die PID prüfen könnte, statt bei SckConnect() auf einen Timeout warten zu müssen.

  3. Eine direkte Kommunikation ist mit der PID alleine nicht möglich. Die PID wird für alle weitergehenden Funktionen benötigt, da sie den gestarteten Client-Prozess identifiziert. Die PID kann beispielsweise an eine DLL-Funktion übergeben werden.

    Im Client selbst kann die PID per _Sys->spProcessID ermittelt werden. Dadurch ist auch eine "Kommunikation" zwischen den Clients per Datenbanktabelle oder RmtData() möglich.

  4. Interessante Alternative zum seitherigen SysExecute().
    Ist die Prozess-ID nur eine nette Info, oder kann darüber z.B. der Status des Prozesses abgefragt, oder mit ihm kommuniziert werden ?

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner