Menü

Context-Objekt (iScript)

Zurück | Ebene zurück

Das Context-Objekt stellt die Schnittstelle zwischen den Windows-Scripts und dem iScript-Funktionen dar.

Abhängig vom jeweiligen Kontext, ist der Zugriff auf verschiedene andere Objekte möglich. Beispielsweise ist innerhalb von Daten-Eingabemasken der Zugriff auf "Dataset" (=Datenmenge) erlaubt.

Daneben ist der Zugriff auf vordefinierte oder Benutzerinstallierte Skript-Bibliotheken möglich. Anhand folgender einfacher VBScript-Prozedur, die in der Bibliothek „UserLib“ angelegt werden muss, wird die Verwendeung des Context-Objektes in verschiedenen Szenarien gezeigt.

sub HelloWorld
  ellib.ShowMessage "Hallo Welt!"
end sub

 

Aufruf im iScript-Editor oder in einem iScript-Menüpunkt

context.userlib.HelloWorld

Das Context-Objekt ist in diesen Fällen direkt in den Namensraum eingebettet und muss nicht explizit mit angegeben werden. Folgender Aufruf führt also zum gleichen Ergebnis:

userlib.HelloWorld

Zugriff aus einer HTML-Seite

Innerhalb von Webseiten steht das Kontext-Objekt über "window.external" zur Verfügung. Das heißt "window.external.Client " ermöglicht den Zugriff auf das Mandantenobjekt

window.external.userlib.HelloWorld

Innerhalb von Skript-Bibliotheken

Innerhalb der Skript-Bibliotheken steht die Variable "Context" zur Verfügung. Bibliotheks-Funktionen müssen in der Registry unter \SYSTEM\LIBS definiert werden.

context.userlib.HelloWorld

Zugriff durch externe Programme

Bei Zugriff von anderen Programmen oder dem Windows-Scripting-Host steht das Context-Object dort von Haus aus nicht zur Verfügung.  EULANDA bietet in diesem Fall aber die Möglichkeit das Objekt bei Bedarf über Client.CreateObject selbst zu erzeugen. Danach kann es wie in den anderen Beispielen verwendet werden. Nachfolgend ein Beispiel für eine externe VBS-Datei.  Der gewünschte Mandant muss noch noch bei "MeinMandant" eingetragen werden.

option explicit

dim app, client, Context

set app = CreateObject("eulanda.application")
set Client = app.Clients("MeinMandant")
Client.Active = True
set Context = Client.CreateObject("Context")

Context.userlib.HelloWorld

Eigenschaften

  • property ContextHost: string
  • property Client: IClient - Client-Objekt, falls verfügbar
  • property ClientInContext: boolean - prüft, ob im aktuellen Kontext ein Client-Objekt verfügbar ist
  • property Dataset: IDataset- Dataset, falls verfügbar
  • property DatasetInContext: boolean - prüft, ob im aktuellen Kontext ein Dataset-Objekt verfügbar ist
  • property Application: IApplication
  • property ellib: ScriptLibrary
  • property userlib: ScriptLibrary
  • property weblib: ScriptLibrary
  • weitere Script-Bibliotheken