最近有一需求要用JAVA调用VB写的动态库在网上搜了一个方案,试验成功:
1.新建VB工程:MathProj 类名:Math, 代码如下
Public Function Mult(in1 As Variant, in2 As Variant) As Variant
Mult = in1 * in2
End Function
2.生成MathProj.dll动态库文件
3.用regsvr32 "C:\Documents and Settings\Administrator\桌面\MathProj.dll" 注册
4. 引入jacobBin_17中jacob.dll、jacob.jar文件,jacob.dll放system32下
jacob.jar放入web工程lib目录下
4.在JAVA中代码如下:
Dispatch myCom = new Dispatch("MathProj.Math");
System.out.println(myCom.call(myCom, "Mult", new Variant(6), new Variant(6)));
5. 运行JUNIT 输出结果:
36
测试成功!
分享到:
相关推荐
标题提到的“操作com组件的可以java直接调用vb的dll”,实际上是在阐述如何通过Java来利用VB编写的动态链接库(DLL)来操作COM组件,从而实现对Office应用如Word和Excel的控制。这里主要涉及的知识点包括Java COM互...
这个动态链接库文件实现了Java层与COM层的桥接,使得Java能够调用COM组件。通常,`jacob.dll`需要放在Java的系统库目录下,或者在运行时通过设置`java.library.path`属性来指定其位置。 调用OCX控件的过程大致如下...
接下来,在Java端,使用JACOB调用这个COM组件。引入必要的JACOB库后,创建`Dispatch`对象,传入COM组件的ProgID(在本例中是"MathProj.Math"),然后通过`Dispatch.call`方法调用COM组件的方法,如`Add`和`Mult`,并...
注意,由于涉及到本地方法调用,可能需要配置额外的系统属性,如`java.library.path`来指定动态库的路径。 8. **性能和限制:** 虽然JACOB提供了一种便利的方式来在Java中使用COM组件,但它并不是无损的。由于Java...
Jacob是一个Java和COM(Component Object Model)之间桥梁的开源库,它允许Java代码直接调用DLL和OCX控件,这些控件通常是由Visual Basic (VB)或Visual C++ (VC)等编程语言开发的。 **JNI基础** JNI是Java平台提供...
在Java项目中,我们需要将这个jar包添加到项目的类路径中,以便编译和运行包含Jacob调用的Java代码。 Jacob库的核心功能主要包括: - **自动化办公软件**:如Word、Excel等,可以创建、修改、格式化文档,执行宏等...
1. 调用Windows API:Java程序可以通过JACOB调用Windows API函数,实现与操作系统更底层的交互。 2. 控制Office应用:如自动化Excel进行数据处理,或者操作Word生成文档。 3. 连接ActiveX控件:可以与各种ActiveX...
创建一个Java类,如`javacallvb.java`,导入Jacob库,并实现调用VB DLL的功能: ```java import com.jacob.com.*; import com.jacob.activeX.*; public class javacallvb { public static String ShowMsg(String ...
1. **安装Jacob**: 首先需要下载Jacob的库文件,其中包含了dll动态链接库(如`jacob-1.18.dll`)和jar包(如`jacob.jar`)。dll文件需要放在系统路径或者Java应用的类路径下,以便Java能够找到它。 2. **配置环境**...
使用Java结合Jacob库,可以根据Word模板动态生成Word文档,适用于批量文档生成、报告自动化等场景。通过深入理解Jacob库的配置与使用,以及`Java2word`类的设计理念,开发者可以高效地实现复杂Word文档的生成需求,...
- 使用JCom需要安装Jacob库,这是一个Java到COM桥接库。 - 必须在64位Java环境中使用64位版本的Jacob,反之亦然。 - 在多线程环境中,必须正确管理和初始化ComThread。 通过JCom,Java开发者可以充分利用Windows...
在项目中,你需要将其添加到类路径,以便编译和运行包含JACOB调用的Java代码。 总的来说,"动态将数据导入至word"是一个高效且灵活的解决方案,尤其适用于需要大量生成个性化Word文档的场景。通过使用JACOB库,...
- 使用JACOB的动态链接库(`jacob.dll`),通过Java代码调用COM接口与考勤机建立通讯。 - 编写代码,根据SDK提供的API进行考勤数据的读取和打印命令的发送。 3. **常见错误分析**: - **驱动不兼容**:确保驱动...
Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
此外,通过特定的技术,如Python的pywin32库或Java的JACOB库,COM组件也能在非.NET环境中使用,实现跨平台调用。 压缩包内的文件"DsoFramer_V2.3.0.2"很可能包含完整的源代码、编译脚本、示例程序、帮助文档等资源...
一个Excel DLL通常会支持多种编程语言,如C++、C#、VB.NET、Python(通过Python的comtypes库)、Java(通过JACOB库)等,使得非VBA环境下的Excel操作变得可能。 5. **效率与兼容性** 使用DLL操作Excel数据的一个...
JAVA开发者则可以利用Java的JNI(Java Native Interface)或者JACOB(Java COM Bridge)库来调用OCX控件提供的功能。VB.NET和C#是.NET Framework的一部分,它们可以很自然地与COM组件集成,通过.NET的Interop服务...