当我尝试使用通配符注册所有 *.tlb 文件时:
RegisterTypeLibrary(Is64BitInstallMode, ExpandConstant('{app}') + '\TLB\*.tlb');
我收到运行时错误 0x80029C4A。
这是否意味着我必须将所有文件一一注册?有没有办法注册文件夹?
当我尝试使用通配符注册所有 *.tlb 文件时:
RegisterTypeLibrary(Is64BitInstallMode, ExpandConstant('{app}') + '\TLB\*.tlb');
我收到运行时错误 0x80029C4A。
这是否意味着我必须将所有文件一一注册?有没有办法注册文件夹?
您不能使用通配符来注册 .tlb 文件。请参阅文档:
原型:procedure RegisterTypeLibrary(const Is64Bit: Boolean; const Filename: String);
例如RegisterTypeLibrary(Is64BitInstallMode, ExpandConstant('{sys}\stdole2.tlb'));
还要检查正确的平台:Is64BitInstallMode()与 .tlb 位无关(您可以在 64 位系统上注册 32 位 .tlb 没有任何问题。
如果您尝试为不正确的平台注册库,则会显示异常,这可能是您的问题。