Hallo Forum,
ich habe eine Java DLL (JNI) mit einer Funktion die so heißt:
Im Javacode wird die DLL mit loadLibrary() geladen. Die Funktion wird so definiert:
Wie weiß nun Java das mit functionAbc() die Funktion Java_com_company_package_functionAbc() in der DLL gemeint ist? Der lange Name sieht nach einer Paket Hierachie aus. Muß ich sie einhalten? Testweise habe ich die Hierachie nachgebildet. Jetzt habe ich einen Crash beim ersten Aufruf von functionAbc():
Vorher hatte ich nur diese diesen Fehler:
Siehe: http://www.java-forum.org/de/topic48169_java-dll-benutzen.html
Ist das nun ein Fortschritt? *g*
Die DLL funktioniert garantiert, weil sie eine Auftragsarbeit meiner Firma ist und 1000fach ausgeliefert wurde. Ich versuche gerade ein Tool zu schreiben mit dem ich sie selber benutzen kann...
Vielen Dank
Peter
ich habe eine Java DLL (JNI) mit einer Funktion die so heißt:
Code:
Java_com_company_package_functionAbc();
Im Javacode wird die DLL mit loadLibrary() geladen. Die Funktion wird so definiert:
Code:
public static native void functionAbc();
Wie weiß nun Java das mit functionAbc() die Funktion Java_com_company_package_functionAbc() in der DLL gemeint ist? Der lange Name sieht nach einer Paket Hierachie aus. Muß ich sie einhalten? Testweise habe ich die Hierachie nachgebildet. Jetzt habe ich einen Crash beim ersten Aufruf von functionAbc():
Code:
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0af03d38, pid=3716, tid=2732
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_10-b03 mixed mode)
# Problematic frame:
# C [MyDll.dll+0x3d38]
#
# An error report file with more information is saved as hs_err_pid3716.log
Vorher hatte ich nur diese diesen Fehler:
CTest.CalculateXYZ(Data[]) line: not available [native method]
Siehe: http://www.java-forum.org/de/topic48169_java-dll-benutzen.html
Ist das nun ein Fortschritt? *g*
Die DLL funktioniert garantiert, weil sie eine Auftragsarbeit meiner Firma ist und 1000fach ausgeliefert wurde. Ich versuche gerade ein Tool zu schreiben mit dem ich sie selber benutzen kann...
Vielen Dank
Peter