Avatar billede dj Nybegynder
02. april 2002 - 16:34 Der er 1 kommentar og
1 løsning

Windows DLL og Java

Hejsa

Jeg har brug for at få adgang til nogle funktioner i en DLL fil jeg har skrevet i Borland Delphi.

Jeg har forsøgt mig lidt frem og kigget lidt på JNI tutorialen, men har ikke rigtigt kunnet komme frem til en løsning.

Jeg går ud fra jeg skal benytte System.loadLibrary() og mit testprogram indtil videre ser således ud:

public class testDLL {
  static {
      System.loadLibrary("DLLForm.dll");
    }
  public static native String ShowDialog();
  public static native String ShowConst();
 
  public static void main(String[] args) {
    System.out.println("the value is: " + ShowConst());
  }
}

Jeg får en fejl der ser således ud når jeg kører programmet:

Exception in thread "main" java.lang.UnsatisfiedLinkError: ShowConst
        at Frame1.ShowConst(Native Method)
        at Frame1.main(Frame1.java:12)

Nogen der har en ide til hvordan man kan gøre dette ?
Avatar billede disky Nybegynder
02. april 2002 - 17:31 #1
ret
System.loadLibrary("DLLForm.dll");
til
System.loadLibrary("DLLForm");
Avatar billede dj Nybegynder
02. april 2002 - 18:41 #2
ja well, det var nu ik helt så enkelt disky.

Det viste sig nemlig at DLL'en skal formateres korrekt og alle datatyper skal konverteres til Java typer inden den laves til en DLL for at man kan læse den fra Java.

Hvis andre skulle ske at være interesserede i dette så se:
ftp://delphi-jedi.org/api/Cross_Platform/JNI_xp.zip

Men nu kan jeg i det mindste lave Delphi GUI'er og implementere dem i Java, wee :)

Jeg lukker spørgsmålet da jeg selv fandt svaret.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester