现在需要调用delphi开发的dll接口其中有个函数带有字符串型的指针参数,不知道如何得到它的值,请教各位高手

解决方案 »

  1.   

    你试验一下下面的代码,我没有测试过:

                             Process exec = Runtime.getRuntime().exec("c:\\aa.dll -t ");//这里跳用delphi开发的dll和参数
     exec.waitFor();
     OutputStream out = exec.getOutputStream();//下面是获得返回值
     byte[] b = new byte[10240];
     out.write(b);
     out.flush();
     System.out.println(new String(b,"gbk"));
      

  2.   

    我的dll里好几个函数我怎么知道调的是哪个呢,jawin里好像只能返回整型,其它类型只能传入不能传出,不知道是我用法不对还是jawin功能有限
      

  3.   

    jawin好像解决不了这个问题,只好放弃
      

  4.   

    怎么可能,jawin可以操作指针,也就是说功能很强大
      

  5.   

    用JNA吧,sun支持的开源项目,国内好像关注的人不太多.JNative也可以解决你的问题.自己搜索一下JNA的示例代码可以知道怎样用!!
    我现在也遇到一个问题没有搞定,就是dll中有一个函数返回(不是参数)的是一个指针,不知道怎么弄.....希望能够在大家讨论的解决!用C再写一个dll间接调用估计可以,但太麻烦,JNA应该有解决方案的..!!