如何编写一个也是Delphi中的COM服务器的EXE

问题描述:

我有一个Delphi(2007)应用程序,它只是一个标准的exe文件,我想为它添加一个COM接口。我已经有一个COM DLL,其中导出几个COM对象,这是完美的。但是,当我试图从DLL(即“出口”和“{$ R * .TLB}”和相关用途)插入COM逻辑到EXE的dpr文件时,它完全编译,但拒绝注册当我调用regsvr32 myname.exe如何编写一个也是Delphi中的COM服务器的EXE

我也尝试创建一个全新的VCLForms应用程序,并通过IDE向导向它添加一个AutomationObject,但Delphi似乎并不希望我这样做,因为没有可用的activex组件。

甚至有可能做我想做的事情吗?如果是这样,有没有人有任何想法可能会出错?

感谢

+0

您是否在64位Windows上运行? Vista/7的? – 2010-12-07 12:56:23

+0

是的,我正在运行Windows 7 64位 – Steve 2010-12-07 14:00:20

+0

好像你有你的答案。我的观点是,在64位Windows上,你必须工作一点才能获得32位版本的regsvr32。当然,我没有细枝末节,因为这是一个exe而不是一个dll,你不需要一个单独的程序来托管代码来做self-reg。 – 2010-12-07 20:34:20

我不确定regsvr32的工作原理,您需要运行app.exe/regserver或app.exe/unregserver。

是您的EXE出口DllRegisterServerDllUnregisterServer