LitDev 1.2.24.0 DE
http://litdev.uk/LitDev.De.html Extension API
LDCall
(Rekursiver) Aufruf von Funktionen (Subs auch als Variablen) mit 1-5 optionalen Argumenten, mit/ohne Rückgabewert(e), bzw. asynchron von einer beliebigen Extension oder vorkompilierten SB Exe.
s. LDCall.Function für weitere Infos.
example other-samples\LDCall.sb, LDCallAsync.sb
args = ""
a = 3
b = 4
sum = LDCall.Function2("Addition", a,b)
Sub Addition
return = args[1] + args[2]
EndSub
CallAsync | CallComplete | CallInclude |
Compile | Function | Function2 |
Function3 | Function4 | Function5 |
Include | LastCall | LastResult |
CallAsync(dll,extension,obj,method,arguments)
Asynchroner Aufruf einer Extension Methode oder Programm Sub.
Sind 'dll', 'extension', 'obj' und 'arguments' alle "", dann kann 'method' eine Sub im SB Programm sein.
dll Die Extension Dll (zB. "LitDev.dll" oder "SmallBasicLibrary.dll") oder "".
extension Der Namespace der Extension (gewöhnlich wie Dll Name, zB. "LitDev" oder "Microsoft.SmallBasic.Library" in SmallBasicLibrary.dll) oder "".
obj Der Name des Extension Objekts (zB. "LDCall") oder "".
method Der Name der Extension Methode (zB. "Function") oder Name einer Sub im Programm (s.o., LDCall.Include).
arguments Ein Array mit Argumenten zur Übergabe oder "" für ohne. Ein einzelnes Argument muß nicht als Array übergeben werden.
returns "PENDING" bei Erfolg, sonst eine Fehlermeldung.
example other-samples\LDCallAsync.sb
CallComplete
Ereignisaufruf wenn der Aufruf einer asynchronen Methoden-Sub beendet ist.
CallInclude(include,method)
Aufruf einer Methode (Sub) in einer eingebundenen vorkompilierten Assembly (s. LDCall.Include).
Zur Argumentübergabe globale Variablennamen (Rückgabewerte) in beiden Programmen verwenden.
include Der Name der eingebundenen Assembly (Rückgabewert von 'Include' Methode, Intern: Include#).
method Der Name der aufzurufenden Sub Methode (in der eingebundenen Exe) in "".
returns "SUCCESS" bei Erfolg, sonst "FAILED".
Compile(path)
Kompiliert eine angegebene SB Quelldatei in ihrem Elternordner (incl. Kontrolle auf Existenz und Änderungszeit der .exe).
Voraussetzung ist, daß SmallBasic im STANDARDPFAD für das aktuelle Betriebssystem installiert ist.
path Der volle Pfad für die zu kompilierende SB Quelldatei (.sb).
returns Der Pfad der kompilierten Programmdatei (.exe) bei Erfolg, sonst "" (zB. .exe Änderungszeit >1 sec).
Function(funcName,arg1)
Aufruf einer SB Sub als Funktion mit 1 Übergabeargument, oder Sub als Variablenname.
Alle Variablen (Rückgabewerte) bleiben global. Eingabeargument(e) wird(en) in Array 'args' kopiert.
Ein (optionales) Ergebnis wird innerhalb der Sub in Variable (od. Array) 'return' übergeben.
Die Variable (Array) 'args' muß bei Programmstart mit "" belegt werden.
Eingabeparameter bleibt(en) unverändert, während 'args' und 'return' nach Rückgabe auf "" gesetzt werden.
Achtung: NICHT schachteln (2. LDCall aus LDCall-Sub), wegen überkreuzender Rückgabewerte.
funcName Der Name der aufzurufenden SB Sub in "" (auch als Variable).
arg1 Der Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als optionale Variable "return" oder Fehlermeldung zurückgegeben.
example 'Aufruf der Subs Func1 bis Func3:
For n = 1 to 3
LDCall.Function("Func"+n, "")
EndFor
Sub Func1
...
EndSub
Sub fUNC2
...
EndSub
'usw.
Function2(funcName,arg1,arg2)
Aufruf einer SB Sub als Funktion mit 2 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.
funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb
'Wert von 1D Rückgabearray
args = ""
arr = LDUtilities.ColourList()
val = LDCall.Function2("Val1D", arr,i)
'Einzelfarbe arr[i]
Sub Val1D
return = args[1][args[2]]
EndSub
Function3(funcName,arg1,arg2,arg3)
Aufruf einer SB Sub als Funktion mit 3 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.
funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
arg3 3. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb
'Wert von 2D Rückgabearray
args = ""
arr = LDFile.ReadCSV(csv)
val = LDCall.Function3("Val2D", arr,y,x)
'Zellenwert in Zeile y, Spalte x
Sub Val2D
return = args[1][args[2]][args[3]]
EndSub
Function4(funcName,arg1,arg2,arg3,arg4)
Aufruf einer SB Sub als Funktion mit 4 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.
funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
arg3 3. Eingabewert (oder Array).
arg4 4. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb
Function5(funcName,arg1,arg2,arg3,arg4,arg5)
Aufruf einer SB Sub als Funktion mit 5 Argumenten zur Übergabe.
s. LDCall.Function für weitere Infos.
funcName Der Name der aufzurufenden SB Sub in "".
arg1 1. Eingabewert (oder Array).
arg2 2. Eingabewert (oder Array).
arg3 3. Eingabewert (oder Array).
arg4 4. Eingabewert (oder Array).
arg5 5. Eingabewert (oder Array).
returns Ein Ergebnis der Funktion wird als Variable "return" oder Fehlermeldung zurückgegeben.
example other-samples\LDCall.sb
Include(path)
Lädt/Referenziert ein anderes, zuvor kompiliertes SB Programm(.exe) zur Verwendung einer darin enthaltenden Sub(routine) Methode (Intern: Include#).
Zum Methodenaufruf s. CallInclude.
path Der volle Dateipfad der untergeordneten, kompilierten SBAnwendung(.exe) zur Verwendung als Assembly.
Dateierweiterung .exe kann beliebig umbenannt sein (zB. dll, sbsub, incl).
returns Der Name der eingebundenen Assembly bei Erfolg, sonst "" (und Fehlermeldung).
example 'Test 'IsSBExe'? (_SmallBasicProgram Typ):
incl = LDCall.Include(pfad)
bIsSBExe = LDLogic.NE(incl,"") 'True|False
LastCall
Ermittelt den Name des letzen asynchronen Aufrufs (als "Namespace.Objekt.Methode(arg)" bei Methode, sonst "SubName()").
LastResult
Ermittelt den Rückgabewert des letzten asynchronen Aufrufs, sonst "".