本帖最后由 li745547 于 2018-3-25 13:32 编辑
Java IDL(Interface Description Language)/CORBA(Common Object Broker Architecture)Java 接口定义语言/公用对象请求代理程序体系结构IDL是用来描述软件组件接口的一种计算机语言。IDL通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信交流。
Java调用IDL程序,需要先在java中加载IDL的java包(javaidlb.jar),该包不需要下载,在IDL的安装目录中可以直接找到(C:\Program Files\Exelis\IDL82\resource\bridges\export\java\ javaidlb.jar)。 Java调用idl有两种方法 第一种,在java中启动接口类,直接执行IDL程序,例如: executeString中填写的就是IDL语句
第二种,利用IDL的对象输出助手酱IDL的数据可视化与分析功能输出为通用的Java类来调用。 第一步:编写pro文件,例如: 一定要注意pro文件的格式,struct结构必不可少,函数名前的类名(本例 readhdf:: )也必不可少,否则在接下来的步骤中会出现问题。 pro文件保存的时候,文件名也是*_define.pro的形式 第二部:导出java类 在IDL的命令行窗口输入IDLEXBR_ASSISTANT回车,弹出Export Bridge Assitant窗口。 选择之前保存的pro文件 对右边的属性进行设置,然后build得到java文件。Java文件中的函数并无实际功能(如下图所示),还是会调用pro文件,因此,我们需要将之前的pro文件移到IDL安装路径下:C:\Program Files\Exelis\IDL82\lib\bridges 经过上面的一系列步骤,准备工作就做好了,可以在java工程中调用了,方法如下: private static readhdf rhdf; 别忘了createObject,不然会报错。
|