请问在jsp或别的java程序中如何调用Delphi做的com组件?问了很久,没人知道吗?

tallboylq 2003-01-06 04:01:03
请问在jsp或别的java程序中如何调用Delphi做的com组件?问了很久,没人知道吗?
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmrljl 2003-01-07
  • 打赏
  • 举报
回复
up
TechnoFantasy 2003-01-06
  • 打赏
  • 举报
回复
通过jcom调用,给你篇文章:
http://edocs.bea.com/wls/docs70/jcom/index.html
http://www.developer.com/java/ent/article.php/770221
zmrljl 2003-01-06
  • 打赏
  • 举报
回复
你想啊,
java调用dll,com的目的主要是为了对已有的代码进行重复利用或提高效率或进行低端编程。
1,利用socket通信。先写一个C++,delphi调用原有的dll,或com.接受到结果后就可以采取client/server的方式java作为服务器进行监听c++,delphi写的客户端程序,进行结果集的传送了。
2。对一些不知道原码的dll文件和不便更改的dll文件,只好写一个中间的dll
来获得旧dll文件的返回结果。这样你写的中间dll就可以灵活的被java调用了。
tallboylq 2003-01-06
  • 打赏
  • 举报
回复
很感激你的回复,我知道如何用java 的native 调用c 写的dll,请问你所说的

1,利用socket通信,利用c++或delphi写调用com,dll的通信程序,将返回的的结果集传给java.
2,写中间的dll文件,以实现对原有dll的调用,然后利用工具把中间的dll转变成本地代码。(java的JNI)
该如何实现?可否举个例子,改天请兄台吃饭了!
zmrljl 2003-01-06
  • 打赏
  • 举报
回复
这个问题说实话确实很难,难的不是理论而是实践
有许多工具来对delphi,c++写的dll,com组建进行转换使之变成本地代码,以便java调用其中的方法
IBM,BEA(com2java,bin目录下就有) 当然java里也有(bin/javah)都有
给你提供两种思路:
1,利用socket通信,利用c++或delphi写调用com,dll的通信程序,将返回的的结果集传给java.
2,写中间的dll文件,以实现对原有dll的调用,然后利用工具把中间的dll转变成本地代码。(java的JNI)
3,对于含有c++写的特别的函数的COM,dll例如这种形式 函数名(*传入参数,*传出参数)我还没有找出解决办法
4,如果只是一个应用无返回那吗java.lang.Runtime.getRuntime().exec(com名);就可以了

个人观点,仅供参考

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧