jdk1.6.0 应该与什么版本的jacob的配合才能正常使用.我使用jacob的时候出现Can't get object clsid from progid错误!

解决方案 »

  1.   

    Java JDK1.5 or newer. 1.5以上就可以了估计不是版本问题吧
      

  2.   

    再估计估计是什么问题?
    speech sdk5.1;
    jacob是1.9的
    解压缩之后有三个文件jacob.dll,jacob.jar,version.properties;
    jacob.dll已经放到了C:\Windows\system32\下 ,以防万一,也在java\jdk1.6.0\bin\和java\jdk1.6.0\jre\bin都放了一份之后把jacob.jar,version.properties两个文件都在目录java\jdk1.6.0\bin\lib
    和java\jdk1.6.0\jre\bin\lib以及java\jdk1.6.0\jre\bin\lib\ext下复制了一份.
    然后编译如下程序,借鉴的网上http://topic.csdn.net/t/20060309/20/4604276.html代码import com.jacob.com.*;
    import com.jacob.activeX.*;public class TestOLE
    {   
        public static void main(String[] args)
        {
          ActiveXComponent sap = new ActiveXComponent("Sapi.SpVocie");
          {
              Dispatch sapo = sap.getObject();
              boolean flag = false;
              try
              {
                  //调整音量和读的速度
                  sap.setProperty("Volume",new Variant(100));
                  sap.setProperty("Rate",new Variant(0));
                  //这一句是读出来abc这三个字母的   
                  Dispatch.call(sapo,"Speak",new Variant("abc"));
                  flag = true;
              }
              catch(Exception e)
              {
                    flag = false;
                    e.printStackTrace();
              }
              finally
              {
                    if(flag)
                    {
                        System.out.println("Over!");
                    }
                    else
                        System.out.println("Application end with exception!");
              }
          }
        }
     }   
     编译通过
    运行时出现
    如下错误
    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.HelloWorld.main(HelloWorld.java:12)
      

  3.   

    120都没人顶原来是代码本身有 bug。
    结贴走人.
    禁后有幸搜到这里的人可与我联系.不回是小狗.
    331314184
      

  4.   

    下个1.11的试试.最新版本是1.14,可是不知道什么原因我的机子1.14通不过.
    xp
    word2003
      

  5.   

    我用的jdk也是1.6,报错是NoSuchMethodError ,就是ActiveXComponent 对象调用getObject()时出错,我怀疑是版本问题,正在找原因。
      

  6.   

    不好意思 各位路过这里的 因长期没有从事java相关开发,这个问题我有忘记了。
    推荐参考例程:http://danadler.com/jacob/
      

  7.   

    有人解决这个问题了吗?
    我也遇到了,没搞定.
    Caused by: com.jacob.com.ComFailException: Can't get object clsid from progid
    at com.jacob.com.Dispatch.createInstanceNative(Native Method)
    at com.jacob.com.Dispatch.<init>(Dispatch.java:99)
    at com.hr.machine.zkem.m200.MachineCOM.initCOM(MachineCOM.java:9)