在 Delphi XE5 中注册 OLE 服务器,在 ridl 文件中注册非 Pascal 代码
Registering OLE server in Delphi XE5 and non-pascal codes in ridl file
我正在编写一个 exe OLE 服务器以将其嵌入到我自己的应用程序中。我是 运行 OLE 服务器 (exe),作为普通用户使用 /regserver
参数,我收到以下错误:
Error accessing the OLE registry
我不需要任何其他程序来使用此服务器。它仅供我自己的客户使用,不会是 DLL。有没有办法将其注册为标准用户?
另一个问题是我在 ridl 文件中看到了不是 pascal 的代码。属性类型是 C 而不是 Pascal。例如,我看到 DATE 但我没有在列表中看到 TDateTime。我正在使用 XE5.
使用 PerUserRegistration
确保您的 COM 服务器自行注册到每个用户的 HKCU 配置单元。或者干脆自己写注册表设置。如果您正在编写安装程序,无论如何这是推荐的方法。
RIDL is a flavour of Interface Description Language (IDL)。它用于描述 COM 服务器的接口。它不是帕斯卡。它不会传递给 Pascal 编译器。它由理解 RIDL 的工具处理。一切都在预料之中。
使用开关“/REGSERVERPERUSER”
我用的是XE5,可以用。
Delphi写入对应的注册码
我正在编写一个 exe OLE 服务器以将其嵌入到我自己的应用程序中。我是 运行 OLE 服务器 (exe),作为普通用户使用 /regserver
参数,我收到以下错误:
Error accessing the OLE registry
我不需要任何其他程序来使用此服务器。它仅供我自己的客户使用,不会是 DLL。有没有办法将其注册为标准用户?
另一个问题是我在 ridl 文件中看到了不是 pascal 的代码。属性类型是 C 而不是 Pascal。例如,我看到 DATE 但我没有在列表中看到 TDateTime。我正在使用 XE5.
使用 PerUserRegistration
确保您的 COM 服务器自行注册到每个用户的 HKCU 配置单元。或者干脆自己写注册表设置。如果您正在编写安装程序,无论如何这是推荐的方法。
RIDL is a flavour of Interface Description Language (IDL)。它用于描述 COM 服务器的接口。它不是帕斯卡。它不会传递给 Pascal 编译器。它由理解 RIDL 的工具处理。一切都在预料之中。
使用开关“/REGSERVERPERUSER”
我用的是XE5,可以用。
Delphi写入对应的注册码