Java调用Delphi开发的Dll小结

本文总结了使用Java调用由Delphi编写的DLL动态链接库的实践经验,涉及JNI接口、Pascal语言和库的交互过程。通过示例详细解析如何在Java中无缝集成Delphi开发的功能模块。
摘要由CSDN通过智能技术生成

 

由于工作原因需要在JAVA开发的项目中调用DELPHI开发的dll动态库,查询了很多资料总结出方法有以下几种:
1、 通过JNI调用,这种方式如果调用C/C++开发的dll动态库文件没有什么问题.但是问题是库是用DELPHI生成的,用JNI不能直接访问,所以只能用C封装DELPHI的库供JNI访问,但是这样很麻烦,而且双层封装不稳定;又或者在使用DELPHI开发dll时引用一个jni.pas的接口单元,按照JNI的方式编写生成dll这样才可以调用。
下面我举例说明一下怎样在使用DELPHI开发可供JAVA的JNI直接调用的dll:
首先用DELPHI新建一个dll工程testDll.dpr;之后我们需要下载 jni.pas 加入到我们的工程中,这是国外的高手写的程序单元,它方便我们的 Delphi 程序与 JAVA 交互。解压之后里面有两个文件,将其存放在工程的目录下;接下来我们编写 Delphi 代码:
Delphi(Pascal) code
    
    
    
library testDll; // 这里设置动态链接库的名称,因为我们刚才写 JAVA 类时是用 testDll,所以这里了要设置为 testDll: Uses JNI; // 注意了,我们刚才下载了 JNI.pas 放在工程目录中,这里要在 Uses 里面声明,才能使用. // 下面我们来写一个函数,就是为 刚才 JAVA 类实现一个简单的方法 // 因为要让 JAVA 能够调用到这个函数,所以这个函数的命名是非常讲究的,名称各段的分隔符是 _ 下划线 // 本例的函数如下: 即 Java_包名_类名_类中的方法名 // 函数必须设置为 stdcall
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值