在DelphiXE5中注册OLE服务器,在ridl文件中注册非pascal代码



我正在编写一个exe OLE服务器,将其嵌入到我自己的应用程序中。我以普通用户的身份运行带有/regserver参数的OLE服务器(exe),并收到以下错误:

访问OLE注册表时出错

我不需要任何其他程序来使用此服务器。它只是为我自己的客户端,它不会是一个DLL。有没有办法将其注册为标准用户?

另一个问题是,我在ridl文件中看到的代码不是pascal。属性的类型是C而不是Pascal。例如,我在列表中看到了DATE,但没有看到TDateTime。我正在使用XE5。

使用开关"/REGSERVERPERUSER"

我用XE5,它工作。

Delphi写入相应的寄存器密钥

使用PerUserRegistration确保COM服务器自行注册到每个用户的HKCU配置单元。或者只需自己编写注册表设置。如果你正在编写一个安装程序,这是推荐的方法。

RIDL是接口描述语言(IDL)的一种变体。它用于描述COM服务器的接口。不是帕斯卡。它没有传递给Pascal编译器。它由一个理解RIDL的工具处理。一切如预期。

最新更新