首页 > 解决方案 > 在delphi的exe中嵌入com obj

问题描述

我在 c# 中创建了一个 dll,使其可见,然后在 delphi 中使用它。为了做到这一点,我必须注册 dll 以便我可以将它作为一个组件安装在我的 delphi ide 中。(我用互操作的东西注册了dll,然后在delphi中安装组件>类型库>选择了我的com dll,它创建了所有使用它的东西。)

我现在面临的问题是我想在另一台机器上使用 exe 而不必注册 dll。是否可以使用注册的 com dll 编译 exe 文件?

我有一个解决方案是不使用 com obj,而只是使用非托管 dll 并导出我想要的所有方法,但我更愿意将 dll/com 嵌入到我的 exe 中,我似乎找不到解决方案,我不知道这是否可能。

标签: delphidllcomdelphi-10.1-berlin

解决方案


使用 CLR 技术的动态加载来加载和使用 DLL。请参阅在 Delphi 程序中托管 .NET 运行时,您可能会得到答案。

在动态加载技术中,您不需要注册 DLL,您只需为您的 DLL 生成 TLB 和接口,并通过它使用 DLL。


推荐阅读