【发布时间】:2018-12-25 09:17:54
【问题描述】:
我在 c# 中创建了一个 dll 并使其可见,然后在 delphi 中使用它。为了做到这一点,我必须注册 dll 以便我可以将它作为一个组件安装在我的 delphi ide 中。 (我用互操作的东西注册了 dll,然后在 delphi 中安装组件 > 类型库 > 选择了我的 com dll,它创建了所有使用它的东西。)
我现在面临的问题是我想在另一台机器上使用 exe 而无需注册 dll。是否可以用注册的 com dll 编译 exe 文件?
我有一个解决方案是不使用 com obj 而是使用非托管 dll 并导出我想要的所有方法,但我更喜欢将 dll/com 嵌入到我的 exe 中,我似乎找不到解决办法,不知道有没有可能。
【问题讨论】:
-
Iirc,您可以使用 TRegSvr.Exe (
TRegSvr.Dpr) 源代码中的代码从您自己的应用程序中注册 .Dll。 -
不要这样。发送可执行文件和 DLL,并使用免注册 COM。
-
@DavidHeffernan 我在用户端使用的环境非常有限。
-
如果你使用COM,你需要告诉可执行文件如何找到COM服务器。这意味着要么注册 COM 服务器,要么使用免注册 COM。如果您不想注册 COM 服务器,请使用免注册 COM。不会有灵丹妙药的解决方案。你将需要学习一大堆新东西。需要花时间。不要指望在几个小时内解决这个问题。
-
@DavidHeffernan 我找到了这个stackoverflow.com/questions/5074563/registration-free-com-dll 只要你知道,知道他在答案中使用的.X 文件而不是.dll 是什么吗?
标签: delphi dll com delphi-10.1-berlin