java 调用 vb 写的 dll ?

jiazimo 2010-06-02 05:33:28
java 调用 vb 写的 dll 都要用到哪些?
用的是 jacob.jar包;和VB生成的dll; jbk用的1.6

java 代码:

public static void test()
{
ActiveXComponent ax = new ActiveXComponent("clsString.cls");
Dispatch dispatch = (Dispatch)ax.getObject();
Variant variant = dispatch.call(dispatch, "Test", "AAA");
System.out.println(variant);
}

VB内代码:
Public Function Test(ByVal str As String) As String

Test = str

End Function


运行报错如下 :
Exception in thread "main" com.jacob.com.ComFailException: Can't get object clsid from progid
at com.jacob.com.Dispatch.createInstance(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:146)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
at com.vb.Demo.test(Demo.java:28)
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiazimo 2010-06-03
  • 打赏
  • 举报
回复
ActiveXComponent ax = new ActiveXComponent("clsString.cls"); 这个里边传的应该是个什么呢?对于VB来说,类名?dll名?"vb/java Script ScriptControl"
jiazimo 2010-06-03
  • 打赏
  • 举报
回复
怎么把vb 的dll译成一个com(ActiveX)的?
Ark032425 2010-06-03
  • 打赏
  • 举报
回复
你的vb dll不是一个com。

jacob是调用com用的。用jni包装vb dll试试。或者把vb 的dll变成一个com
jiazimo 2010-06-03
  • 打赏
  • 举报
回复
帮忙啊!!
jiazimo 2010-06-03
  • 打赏
  • 举报
回复
期待...高手
jiazimo 2010-06-03
  • 打赏
  • 举报
回复
dll 放 C:\WINDOWS\System32 放到这下边也是一样;
用jacob 还用JNI吗?
zqfddqr 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jiazimo 的回复:]
jacob.dll 这个放到C:\Java\jdk1.6.0_20\bin 下边了;

高手指点一下!!
[/Quote]
dll 放 C:\WINDOWS\System32
jiazimo 2010-06-02
  • 打赏
  • 举报
回复
jacob.dll 这个放到C:\Java\jdk1.6.0_20\bin 下边了;

高手指点一下!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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