java 调用 vb 写的 dll 都要用到哪些?
用的是 jacob.jar包;和VB生成的dll; jbk用的1.6java 代码: 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)

解决方案 »

  1.   

    jacob.dll 这个放到C:\Java\jdk1.6.0_20\bin 下边了;高手指点一下!!
      

  2.   

    你的vb dll不是一个com。jacob是调用com用的。用jni包装vb dll试试。或者把vb 的dll变成一个com
      

  3.   

    怎么把vb 的dll译成一个com(ActiveX)的?
      

  4.   

    ActiveXComponent ax = new ActiveXComponent("clsString.cls"); 这个里边传的应该是个什么呢?对于VB来说,类名?dll名?"vb/java Script ScriptControl"
      

  5.   

    dll 放 C:\WINDOWS\System32 放到这下边也是一样;
    用jacob 还用JNI吗?