String (Konstante) als Rückgabewert aus DLL
Verfasst: 16.03.2014 13:00
Heyho,
Ich würde gerne meine DLL um ein paar Funktionen erweitern, welche Strings als Rückgabewert beinhalten.
Jedoch erhalte ich Unicodeunsinn (Glaube ich zumindest). Für ein einfaches "B" als Rückgabewert erhalte ich dies:
Doch wie bekomme ich mein "B" als Rückgabewert?
Die Funktion inkludiere ich über Prototypes, in etwa so:
Ist es einfach möglich, an das "B" zu kommen? Sollte das nicht einfach möglich sein, mache ich mir einfach eine .pb-Datei, die dann eben von allen Programmen inkludiert werden muss...
Ich würde gerne meine DLL um ein paar Funktionen erweitern, welche Strings als Rückgabewert beinhalten.
Jedoch erhalte ich Unicodeunsinn (Glaube ich zumindest). Für ein einfaches "B" als Rückgabewert erhalte ich dies:
In der Dokumentation steht das hier:XÍ
Das hilft mir aber nicht wirklich weiter.Hinweise zur Rückgabe von Strings aus DLL's:
Bei der Rückgabe von Strings aus einer DLL-Funktion muß der String als Global deklariert sein.
Doch wie bekomme ich mein "B" als Rückgabewert?
Code: Alles auswählen
ProcedureDLL.s TasteZuText(taste.i) ;Übersetzt den Wert einer Taste in einen anzeigbaren String.
Select taste
Case #Key_B
ProcedureReturn "B"
;...
EndSelect
EndProcedure
Code: Alles auswählen
Prototype.s ProtoTasteZuText(taste.i)
Global.ProtoTasteZuText TasteZuText
OpenLibrary(#spielDLL, "SpielDLL (x64).dll")
TasteZuText = GetFunction(#spielDLL, "TasteZuText")
Debug TasteZuText(#Key_B)