使用jna在java中加载delphi dll

时间:2013-05-11 19:57:17

标签: java delphi dll jna

我是一个java新手,我正在尝试加载一个delphi dll,并从中调用函数。

已经在使用winbinder的php中尝试但似乎没用:reloading dll in winbinder (php gui) crashes program

无论如何,我有这个简单的java代码,我无法弄清楚如何使它工作。互联网上有一些例子,但似乎没有一个适合我。

Dll是32位,我的windows,jdk和Eclipse也是如此。要使用的简单函数是GetDllVersion。我真的会帮助你。

我甚至无法加载它,这是第一个错误(后面有几个弹出窗口):

enter image description here

以下是代码:

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.NativeLong;
import com.sun.jna.Platform;
import com.sun.jna.*;

public class Main {

      static {
        try {
            System.load("C:/workspace/XmlDownlaoder/xxxxxxxDLL.dll");
        } catch (UnsatisfiedLinkError e) {
          System.err.println("Native code library failed to load.\n" + e);
          System.exit(1);
        }
      }

      public static void main(String argv[]) 
      {
        //how to call functions here? - there will be many functions, and final one should generate xml in return

      }
    }

编辑:Native code library failed to load - 这不会显示在控制台上。

1 个答案:

答案 0 :(得分:1)

不要手动加载你的DLL,让JNA为它做咕噜咕噜的工作。

搜索Delphi JNA时,有相当多的好资源。

一些相关的Stack Overflow问题可以解释您可能遇到的一些问题: