kroesi
Erfahrenes Mitglied
Hallo !
Habe wieder ein JNI-Problem :
Ich muss von Java aus eine DLL ansprechen und baue mir also eine Wrapper DLL.
Nun verlangt dort eine Methode der DLL ein Int-Array :
Ich übergebe nun per JNI aus Java heraus ein Int-Array, daraus wird dann
Die Wrapper DLL schreibe ich im C++Builder 5.
Nun mein Problem : Das jintarray lässt sich mit
nicht zum Arbeiten bewegen. Der Compiler gibt nämlich einen Pointer auf ein "long" zurück, nicht auf ein "int". Die ganz oben beschriebene Methode will aber einen Int-Pointer , keinen Long Pointer ! Was mach ich jetzt, wieso ist das so ? Kann ich das irgendwie casten ?
Vielen Dank,
Körsi
Habe wieder ein JNI-Problem :
Ich muss von Java aus eine DLL ansprechen und baue mir also eine Wrapper DLL.
Nun verlangt dort eine Methode der DLL ein Int-Array :
Code:
eineMethode(int * arr)
Ich übergebe nun per JNI aus Java heraus ein Int-Array, daraus wird dann
Code:
package_class_eineMethode(JNIEnv * env, jobject o, jintarray jArr)
Die Wrapper DLL schreibe ich im C++Builder 5.
Nun mein Problem : Das jintarray lässt sich mit
Code:
int * arr = env->GetIntArrayElements(jArr,0);
nicht zum Arbeiten bewegen. Der Compiler gibt nämlich einen Pointer auf ein "long" zurück, nicht auf ein "int". Die ganz oben beschriebene Methode will aber einen Int-Pointer , keinen Long Pointer ! Was mach ich jetzt, wieso ist das so ? Kann ich das irgendwie casten ?
Vielen Dank,
Körsi