UniPlot.Call

Mit der UniPlot.Call-Methode können Sie UniPlot-Funktionen aus anderen Programmen heraus (ActiveX-Controllern) aufrufen.

ret = UniPlot.Call(ssFuncName, arg1, arg2, ...)

Returnwert

ret ist der Return-Wert. Folgende Datentypen werden unterstützt:Falls ssFuncName einen Skalar (1 x 1 Matrix) zurückliefert, enthält ret einen skalaren Wert des Typs VT_R8.

Falls ssFuncName einen Vektor zurückliefert, (1 x n-Matrix oder n x 1-Matrix) enthält ret eine 1 x n-Matrix.

Falls ssFuncName eine Matrix zurückliefert (n x m-Matrix, n, m != 1), enthält ret eine n x m-Matrix.

UniScript-Stringmatrizen werden in VT_BSTR umgewandelt. Die Dimensionalität ist wie oben beschrieben.

Andere UniScript-Typen (UniScript-Variant-Matrizen, Objekte, komplexe Zahlen) werden nicht unterstützt.

Parameter

ssFuncName

ssFuncName ist der Name der UniScript-Funktion, die aufgerufen werden soll.

arg1

arg1 ist der erste Parameter, der an die Funktion mit dem Namen ssFuncName übergeben wird. Die Anzahl der Parameter die an die Funktion übergeben werden kann liegt zwischen 0 und 16. Für die Parameter werden die folgenden Datentypen unterstützt:

Skalare Elemente:

VT_UI1, VT_I2, VT_I4, VT_R4, VT_R8, VT_VARIANT, VT_BSTR, VT_DISPATCH.

Vektoren (Arrays mit Dimension 1):

VT_R8, VT_VARIANT, VT_BSTR.

Beispiel

Das folgende Excel-Programm (VBA) ruft die UniScript-Funktion MessageBox auf:

ssMessage$ = "This is a Test"
Dim svStyles(2) As String
svStyles(0) = "Test"
svStyles(1) = "ICONSTOP"
svStyles(2) = "YESNO"
Set upApp = CreateObject("UniPlot.Application")
YesNo = upApp.Call("MessageBox", ssMessage$, svStyles)

id-1856805