Project Netdata.exe raised exception class EOleSysError with message'没有注册类别' ?跪求高手指点

解决方案 »

  1.   

    一般是第三方控件造成的,你需要先注册一下ocx组件
      

  2.   

    在delphi下使用SAPI我安装SAPI空间到delphi中,方法如下:"Project|Import TyoeLibrary"->"Microsoft Speech ObjectLibrary 5.0",其他按默认, 再选择"Install"安装控件,安装好的控件在ActiveX控件页下,一共有19个组件。我用的是delphi中Active组件中的SpSharedRecoContext组件,执行时就出现了上面的情况(附我现在正在用delphi做一个语音助手)
      

  3.   

    不管是什么,你这个控件需要注册一下。
    regsvr32 c:\windows\system32\comctl32.ocx 
    后面的路径换成你自己的路径和文件。
      

  4.   

     是procedure Connect; override;这个过程的原因
    执行部分为:
    procedure TSpSharedRecoContext.Connect;
    var
      punk: IUnknown;
    begin
      if FIntf = nil then
      begin
        punk := GetServer;
        ConnectEvents(punk);  
        Fintf:= punk as ISpeechRecoContext;
      end;
    end;   好像是 ConnectEvents(punk); 的原因