You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi调用Sage 50 SDK对象提示类未注册,CLSID未完成注册

Sage 50 SDK Delphi集成:CLSID未注册导致"Class not registered"错误

操作系统:Windows 11 64位

我所在的软件开发公司有客户需要集成Sage 50账户数据库。和Sage UK多次沟通后,我们拿到了面向C#/VB.Net开发者的Sage 50 SDK,但我记得这个SDK可以导入Delphi使用。

我已经完成以下操作:

  • 在Windows中注册Sage类型库(SageDataObject280.tlb)并导入Delphi
  • 解决依赖包相关问题,成功构建包
  • 生成SageDataObject280_TLB.pas文件,安装类型库后,所有类对象都已注册到Delphi工具面板,可正常访问
  • 使用Delphi工具TRegsvr.exe注册类型库服务器(问题实际出在这里)
  • 创建小型概念验证应用测试所需功能
  • 成功连接到Sage 50账户数据库,但调用其他对象时出现Class not registered错误

检查注册表后发现,所有IID(接口ID)均已正确注册,但所有类(CLSID)本身未注册,这直接导致了上述错误。

我获取了TRegsvr工具的源代码,跟踪后发现注册过程使用Windows ActiveX原生注册方法,我无法控制该过程。已经花了整整两个工作日搜索解决方案,但没有找到满意的结果。

这是项目的关键障碍,解决不了的话就无法为客户提供所需的解决方案。

以下是类型库PAS文件的片段:

unit SageDataObject280_TLB;
...
uses Winapi.Windows, System.Classes, System.Variants, System.Win.StdVCL, Vcl.Graphics, Vcl.OleServer, Winapi.ActiveX;
  

    // *********************************************************************//
    // GUIDS declared in the TypeLibrary. Following prefixes are used:        
    //   Type Libraries     : LIBID_xxxx                                       
    //   CoClasses          : CLASS_xxxx                                       
    //   DISPInterfaces     : DIID_xxxx                                        
    //   Non-DISP interfaces: IID_xxxx                                         
    // *********************************************************************//
    const
      // TypeLibrary Major and minor versions
      SageDataObject280MajorVersion = 28;
      SageDataObject280MinorVersion = 0;

      LIBID_SageDataObject280: TGUID = '{D7F4B92E-F1B4-4996-80D1-76AC2448EDAB}';
    ...
      DIID_ISalesRecord: TGUID = '{C18182B6-F2D2-11D0-9E63-008048AADD4E}'; // 所有DIID均已正常注册
      CLASS_SalesRecord: TGUID = '{C18182B8-F2D2-11D0-9E63-008048AADD4E}'; // 无CLASS对象被注册
    ...

内容的提问来源于stack exchange,提问作者Christian VG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 11:05:09