ich bin dabei die Powerbasic include Datei auf Xbase++ umzuschreiben.
Dabei stoße ich wieder auf das Problem was ich schon einmal mit dem Rückgabetyp String hatte:
PowerBasic:
Code: Alles auswählen
DECLARE FUNCTION iSEDLibraryVersion LIB "iSEDQuickPDF.DLL" ALIAS "iSEDLibraryVersion" () AS STRING
? iSEDLibraryVersion() -> "5.11"
Xbase++ erhält eine lange Integerzahl (vermutlich ein Pointer = LONG):
Code: Alles auswählen
FUNCTION iSEDLibraryVersion() // as String
LOCAL nDll, cReturn
nDll:=DllLoad("iSEDQuickPDF.dll")
if nDLL > 0
cReturn := DllCall(nDll,DLL_STDCALL,"iSEDLibraryVersion")
DllUnLoad(nDll)
else
? "Fehler beim DLL laden"
cReturn := ""
endif
RETURN cReturn
Wie kann ich in Xbase++ den String an der Adresse cReturn auslesen ?
Die BIN2 Funktionen scheinen ja nicht zu passen oder ?
Ich denke dass iSEDQuickPDF.DLL eine Delphi DLL ist.