在Delphi XE5中注册OLE服务器和在ridl文件中注册非pascal代码

时间:2015-06-27 14:40:53

标签: delphi pascal ole

我正在编写一个exe OLE服务器,将它嵌入我自己的应用程序中。我作为普通用户使用 function initJSON() { loadJSON(function(response) { var JSONParse = JSON.parse(response); var i; for (i in JSONParse) { JSONdata.name.i = JSONParse[i].name; JSONdata.year = JSONParse[i].year; JSONdata.recl = JSONParse[i].records_lost; } }); } initJSON(); 参数运行OLE服务器(exe),我收到以下错误:

  

访问OLE注册表时出错

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

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

2 个答案:

答案 0 :(得分:1)

使用开关“/ REGSERVERPERUSER”

我使用XE5,它有效。

Delphi写相应的寄存器键

答案 1 :(得分:0)

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

RIDL是界面描述语言(IDL)的一种风格。它用于描述COM服务器的接口。它不是Pascal。它没有传递给Pascal编译器。它由一个了解RIDL的工具处理。一切都如预期。