如何在java中使用jna.jar调用Delphi写的dll
来源:互联网 发布:sql select sum where 编辑:程序博客网 时间:2024/05/06 15:50
在工作中,需要使用java调用dll文件,已经dll文件放入system32文件夹下.
在调用dll时,有些有效,有些报错.请问是什么原因?成功失败的见最下面的java代码中的注释.
我想传一个string进去,返回一个int值.请问如何写代码?
dll代码如下:
1 procedure Hello(); stdcall; 2 begin 3 // Writeln('Hello'); 4 ShowMessage('Hello'); 5 end; 6 7 procedure HelloInt(i: integer); stdcall; 8 begin 9 ShowMessage('Hello'+ IntToStr(i));10 end;11 12 procedure HelloRRR(var i: integer); stdcall;13 begin14 ShowMessage('Hello'+ IntToStr(i));15 i := 999;16 end;17 18 function HelloStr(var str: Integer): Integer; stdcall;19 var20 s: string;21 begin22 Result := -1;23 s := IntToStr(str);24 // Writeln('Hello'+s);25 ShowMessage('Hello'+s);26 // s := '44034479041101200025318.xml';27 str := 100;//PChar(s);28 Result := 0;29 end;
java代码如下:
1 public interface CLibrary extends Library { 2 CLibrary INSTANCE = (CLibrary) Native.loadLibrary("testdll", CLibrary.class); // 引入库文件 3 4 public int HelloStr(int i); // 声明方法 5 public void Hello(); 6 public void HelloInt(Integer i); 7 public void HelloRRR(Integer i); 8 } 9 10 11 12 public static void main(String[] args) {13 CLibrary.INSTANCE.Hello(); // 成功14 CLibrary.INSTANCE.HelloInt(Integer.valueOf(16)); // 成功15 Integer k = 18;16 CLibrary.INSTANCE.HelloRRR(k); // 失败17 System.out.println("k="+k); 18 System.out.println("java call dll result="+CLibrary.INSTANCE.HelloStr(20)); // 失败19 }
- 如何在java中使用jna.jar调用Delphi写的dll
- 在java中使用JNA调用加载DLL
- java使用JNA调用dll的方法
- JAVA调用DLL -- JNA和Fat Jar的使用及打包问题(一)
- JAVA调用DLL -- JNA和Fat Jar的使用及打包问题(二)
- 关于vs2010下编译dll动态库,JNA接口在java中调用的问题
- Delphi如何调用C++写的DLL
- Delphi如何调用C++写的DLL
- java使用jna 方法调用Win32 dll
- JNA--Java调用DLL
- java jna 调用DLL
- java(JNA)调用dll函数的问题
- Java调用dll的实现,JNA框架
- JAVA(JNI,Jnative,JNA)分别调用delphi的动态链接库(dll)的技术交流.
- JAVA(JNI,Jnative,JNA)分别调用delphi的动态链接库(dll)
- 在C++ 中 如何调用 C# 写的DLL
- 在C++ 中 如何调用 C# 写的DLL
- JNA的一个小问题-调用dll处理字符串,在java中不能反映出字符串变化
- JAVA(JNI,Jnative,JNA)分别调用delphi的动态链接库(dll)的技术交流.
- ORACLE数据库管理员的职责
- 猴子吃香蕉 智力题
- MobCtrl.exe服务器端软件下载
- ubuntu server ip设置
- 如何在java中使用jna.jar调用Delphi写的dll
- poll()函数的使用
- 在Silverlight中嵌入HTML或aspx页面
- python编写shell脚本详细讲解
- linux编码格式与(dos2unix+unix2dos+file)等命令
- Matlab函数产生的Figure图形框如何嵌入C# Winform中的一个Panel中?
- Oracle 分析函数 over() 续
- VC++ 数据转换大全
- 转载_Linux平台代码覆盖率测试工具GCOV的前端工具LCOV简介