LitDev 1.2.24.0 DE
http://litdev.uk/LitDev.De.html Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGeography LDGraph
LDGraphicsWindow LDHashTable LDHID LDIcon LDImage
LDInline LDIOWarrior LDList LDLogic LDMath
LDMathX LDMatrix LDMusic LDNetwork LDPhysics
LDProcess LDQueue LDRegex LDResources LDScrollBars
LDSearch LDServer LDSettings LDShapes LDShell
LDSort LDSound LDSpeech LDStatistics LDStopwatch
LDText LDTextWindow LDTimer LDTranslate LDUnits
LDUtilities LDVector LDWaveForm LDWebCam LDWindows
LDxml LDZip

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 "".