网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  delphi&Java&JNI一次体验            【字体:
delphi&Java&JNI一次体验
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-2    

本人以前一直操delphi,最近开始学习java,但是老本不能丢啊,再说,delphi在某些方面确实有比java快速优越的地方(不用多说哈)!呵呵,还说有JNI技术正好有这个机会将这两种技术结合。
正在装载数据……
本来以为比较简单,但是一个路径问题居然弄的我冒皮皮。

先将我的问题描述一些,免得新手犯和我一样的困惑!

1,首先定义java一段的本地函数:

public class HelloWorld {
 
       public native void printText();    //delphi短需要实现的函数
 
       static {
                System.loadLibrary("DelphiAction");
        }
         
        public static void main(String[] args) {
                //创建对象并调用里面的 native 方法.
                System.out.println(System.getProperty("java.library.path"));
                System.out.println("start");
                HelloWorld hw = new HelloWorld();
                hw.printText();
        }
}

2.delphi的实现:

  JNI in 'JNI.pas';

procedure Java_HelloWorld_printText(PEnv: PJNIEnv; Obj: JObject); stdcall;
begin

      Writeln('您好!看到效果了吧。');
end;

{$R *.res}

exports
        Java_HelloWorld_printText;

end.

(注意需要一个JNI的pas文件,网上有啊,随便下,是一个国外的牛人写的)

3.delphi调用dll.开始我将这个dll放在和java工程包的同一个文件夹下,以为这样最省事,结果总是出错:

Exception in thread "main" java.lang.UnsatisfiedLinkError.........

于是我将这个dll system32,system放,还是这个错误。

××××××××××××××××××××××

最后,放在C:\Program Files\Java\jdk1.5.0\jre\bin目录中,哈哈,居然通过。

恭喜,据说这个路径就是所谓的jvm的路




本文来源:http://blog.csdn.net/liuzuofei/archive/2007/07/09/1683657.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • Java的网络编程(TCP/IP)

  • Ant入门-配置和使用     选…

  • 浅析Spring框架下PropertyPl…

  • SPRING+STRUTS+HIBERNATE登录…

  • MVP——Model-Viewer-Presen…

  • C++ Object Model

  • constructor and destructor

  • 绑定HGE到AngelScript脚本系…

  • delegate C#关键字 (委托类型…

  • Boyer-Moore String Searchi…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David