我正在编写一个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的工具处理。一切如预期。