27.10.2013 Aufrufe

F - Epson

F - Epson

F - Epson

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Numerische Variablen durch ByRef weitergeben<br />

SPEL+ Sprachreferenz<br />

SPEL: Declare MyDLLFunc, "mystuff.dll", "MyDLLFunc", (ByRef a As Long) As<br />

Long<br />

VC++ long _stdcall MyDllFunc(long *a);<br />

Zeichenkettenvariablen durch ByRef weitergeben<br />

SPEL: Declare MyDLLFunc, "mystuff.dll", "MyDLLFunc", (ByRef a$ As String) As<br />

Long<br />

VC++ long _stdcall MyDllFunc(char *a);<br />

Wenn Sie eine Zeichenkette mithilfe von ByRef weitergeben, können Sie die Zeichenkette in der DLL<br />

ändern. Die maximale Länge der Zeichenkette beträgt 256 Zeichen. Sie müssen sicherstellen, dass<br />

die maximale Länge nicht überschritten wird.<br />

Sie müssen ebenfalls sicherstellen, dass der Zeichenkette Platz zugeordnet wird, bevor die DLL<br />

aufgerufen wird. Es ist das Beste, über die Space$ Funktion 256 Bytes zuzuordnen, wie im folgenden<br />

Beispiel gezeigt.<br />

Declare ChangeString, "mystuff.dll", "ChangeString", (ByRef a$ As String) As<br />

Long<br />

Function main<br />

String a$<br />

'Weist der Zeichenkette ein Leerzeichen zu, bevor die DLL aufgerufen<br />

wird.<br />

a$ = Space$(256)<br />

Call ChangeString(a$)<br />

Print "a$ after DLL call is: ", a$<br />

Fend<br />

Numerische Matrizen durch ByRef weitergeben<br />

SPEL: Declare MyDLLFunc, "mystuff.dll", "MyDLLFunc", (ByRef a() As Long) As<br />

Long<br />

VC++ long _stdcall MyDllFunc(long *a);<br />

Ausgabe von Werten von der DLL Funktion<br />

Die DLL-Funktion kann einen Wert für jeglichen Datentyp ausgeben, inklusive String (Zeichenketten).<br />

Für eine Zeichenkette muss jedoch ein Datenzeiger an eine der DLL zugeordnete Zeichenkette<br />

ausgegeben werden. Und der Funktionsname muss in einem Dollarzeichen enden, so wie bei allen<br />

SPEL Zeichenkettenvariablen und Funktionen. Bitte beachten Sie, dass ‘alias’ kein Dollarzeichen-<br />

Suffix hat.<br />

Zum Beispiel:<br />

Declare ReturnLong, "mystuff.dll", "ReturnLong", As Long<br />

Declare ReturnString$, "mystuff.dll", "ReturnString", As String<br />

Function main<br />

Print "ReturnLong = ", ReturnLong()<br />

Print "ReturnString$ = ", ReturnString$()<br />

Fend<br />

Verwandte Befehle<br />

Function...Fend<br />

SPEL+ Language Reference Rev 3.5 121

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!