java中能调用VB写的Dll吗?是不是只能调VC写的dll? 用jacob, 可以调用activex, 以及vb写得dll, 具体地址我忘了, 到google找一下吧。 上次我就是用它实现得。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 找到了jacob,还没研究明白怎么用。哪位能指点一下啊!要实现的功能很简单,只要能调用VB写的Dll就可以了。 也可以用jni调用dll,不过jni生成的是c的框架,在c程序中调dll就可以了。dll是什么写的没关系。 憋作抛砖引玉.http://www.csdn.net/develop/read_article.asp?id=15311 我折腾好久了。现在的解决方案是通过jni调C++写的DLL,在C++中再调VB. DLL 本来就是一种COM技术不分VC的还是VB的,他本来讲的就是暗盒使用。肯定可以的,和VC一样的用,估计是你设置错了,或Java找不到该XXX库(XXX.DLL)。我没试过VB的DLL,理论上一样的。 VB写的Com组件和DLL动态链接库和C的是一样的,如果你确定你的程序没错的话,你可以用C++写一个DLL,在它里面调用VB的DLL,网上有很多工具都可以下,但都不太好用,其实自己写也很简单,用JNI什么都可以实现 不是的,jni里介绍用VC写的时候还要include进去jdk里的.h文件,要是用VB肯定没有.h文件了,估计不行。不过用VC调用VB的Dll还是一个不错的主义。 楼上的大哥,jni生成的.h是为了你写dll用的,你有了dll,就不用那些.h文件了。 有谁调用VB的dll成功过,能给段成功的代码例子吗?哪怕是hello world!的例子也可以啊! 1.Project1/Class1:Function SayHello() As String SayHello = "Hello World"End FunctionCompile and generate Project1.dll2.Exam_5.java:import com.jacob.com.*;import com.jacob.activeX.*;public class Exam_5{ public static void main(String[] args) { ActiveXComponent pp = new ActiveXComponent("Project1.Class1"); try { System.out.println(Dispatch.call(pp, "SayHello")); } catch (Exception e) { e.printStackTrace(); } }}H:\Majix-1_2_2_full\sample>javac -classpath jacob.jar Exam_5.javaH:\Majix-1_2_2_full\sample>java -cp jacob.jar;. Exam_5Hello World具体细节可以参阅http://www.csdn.net/develop/read_article.asp?id=15311 呵呵,为什么要调用Windowsd的DLL呢?你选用JAVA开发的目的是什么? 唉!这不简单吗?自己用C/C++做个Dll,这个Dll再调用VB写的Dll。 C/C++和VB生成的DLL没有区别错!C/C++生成的是标准的DLL,而vb不能生成标准的DLL,而是ActiveX Com库,必须按照Com的方法调用 求助:关于数组类型参数的问题 netbeans6.9.1 通过数据库连接生成实体类 无可用表 序列化的问题 关于判断当前时间是否在设定时间范围内 求助:executeUpdate()没有反应 关于变量的声明. 一個關於jacob的問題,跪求援助! 一个关于浮点数小数点保留位数的函数问题~~~~~~~~~~~~~· JAVA初学者问题,请高手赐教! 我用JAVA遍了个应用程序,但是发现输入汉字时,智能ABC的输入框很小,怎么办? 在mouselistener的接口下的问题? 用Socket传输文件的问题 (很多分,想要吗?)
哪位能指点一下啊!
要实现的功能很简单,只要能调用VB写的Dll就可以了。
http://www.csdn.net/develop/read_article.asp?id=15311
哪怕是hello world!的例子也可以啊!
Function SayHello() As String
SayHello = "Hello World"
End Function
Compile and generate Project1.dll
2.Exam_5.java:
import com.jacob.com.*;
import com.jacob.activeX.*;public class Exam_5
{
public static void main(String[] args)
{
ActiveXComponent pp = new ActiveXComponent("Project1.Class1");
try {
System.out.println(Dispatch.call(pp, "SayHello"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
H:\Majix-1_2_2_full\sample>javac -classpath jacob.jar Exam_5.java
H:\Majix-1_2_2_full\sample>java -cp jacob.jar;. Exam_5
Hello World
具体细节可以参阅http://www.csdn.net/develop/read_article.asp?id=15311
错!
C/C++生成的是标准的DLL,而vb不能生成标准的DLL,而是ActiveX Com库,必须按照Com的方法调用