Hallo liebe Java-Freunde =)
folgendes Problem:
Ich habe eine Dll und möchte daraus eine Funktion aufrufen, genau genommen klappt das auch schon, allerdings ist der Rückgabewert falsch!
Soll: XXXX-XXXX-XXXX-XXXX
Ist: "???????????1"
mit anderen Programmiersprachen klappt es einwandfrei.
Liegt es vielleicht daran das ich zum laden der Dll ein fremdes Framework benutze?
vielleicht kennt ihr das ja: JInvoke
ach ja, das JInvoke habe ich benutzt weil ich die DLL nicht selbst geschrieben habe und mir der nomale JNI weg daher unpassent schien. Da muss man ja Header files und solchen kram integrieren oder?
So, meine Frage nun, wieso bekomm ich als Rückgabe nur Fragezeichen, wenns in anderen Sprachen einwandfrei klappt?
In die Dll komm ich ja offensichtlich rein, die Methode ist mit allen Parametern und der dekleration einverstanden, sonst bekäm ich ja ne Exception. Wieso stimmt also der Rückgabewert überhaupt nicht?
Kann das was mit UTF oder ASCI zu tun haben?
Vielen Dank schonmal!
folgendes Problem:
Ich habe eine Dll und möchte daraus eine Funktion aufrufen, genau genommen klappt das auch schon, allerdings ist der Rückgabewert falsch!
Soll: XXXX-XXXX-XXXX-XXXX
Ist: "???????????1"
mit anderen Programmiersprachen klappt es einwandfrei.
Liegt es vielleicht daran das ich zum laden der Dll ein fremdes Framework benutze?
vielleicht kennt ihr das ja: JInvoke
Java:
import com.jinvoke.JInvoke;
import com.jinvoke.NativeImport;
public class DLLInvokater {
@NativeImport(library="C:\\...\\ID.dll"
//,function="?GetHardwareID@@",
//convention=CallingConvention.STDCALL)
)
public static native String GetID(boolean flag1, boolean flag2, boolean flag3, boolean flag4, String arg);
public static void main(String[] args) {
JInvoke.initialize();
System.out.println("The code return " + GetID(true, false, false, false, ""));
}
}
ach ja, das JInvoke habe ich benutzt weil ich die DLL nicht selbst geschrieben habe und mir der nomale JNI weg daher unpassent schien. Da muss man ja Header files und solchen kram integrieren oder?
So, meine Frage nun, wieso bekomm ich als Rückgabe nur Fragezeichen, wenns in anderen Sprachen einwandfrei klappt?
In die Dll komm ich ja offensichtlich rein, die Methode ist mit allen Parametern und der dekleration einverstanden, sonst bekäm ich ja ne Exception. Wieso stimmt also der Rückgabewert überhaupt nicht?
Kann das was mit UTF oder ASCI zu tun haben?
Vielen Dank schonmal!
Zuletzt bearbeitet: