Ich habe folgendes Problem:
Ich habe eine PB-DLL names "test.dll", welche ich zwar erfolgreich laden kann, jedoch die Funktion test() nicht aufrufen kann.
Dabei bekomme ich folgende Errormessage bei Eclipse:
"Exception in thread "main" java.lang.UnsatisfiedLinkError: Controller.test()I
at Controller.test(Native Method)
at Controller.main(Controller.java:12)"
Java Quellcode:
Code: Alles auswählen
public class Controller
{
static {System.loadLibrary("test");}
public native int test();
// Main()
public static void main(String[] args) throws InterruptedException
{
Controller t = new Controller();
System.out.println(t.test());
}
// Constructor()
public Controller() throws InterruptedException
{
}
}
Code: Alles auswählen
EnableExplicit
ProcedureDLL.i test()
Protected.i a = 3
Protected.i b = 5
Protected.i c = #Null
c = a+b
ProcedureReturn c
EndProcedure
Ich habe oft gelesen, dass man irgendwie eine Header-Datei erstellen muss, da die DLL-Funktion bestimmten Konventionen genügen muss, nur ich habe nicht die leiseste Ahnung wie ich da vorgehen muss und passende Beispiele habe ich ebenfalls nicht gefunden.
Kann mir wer weiterhelfen?
Grüße
Toni