delphi - 在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 中,我似乎找不到解决方案,我不知道这是否可能。
解决方案
使用 CLR 技术的动态加载来加载和使用 DLL。请参阅在 Delphi 程序中托管 .NET 运行时,您可能会得到答案。
在动态加载技术中,您不需要注册 DLL,您只需为您的 DLL 生成 TLB 和接口,并通过它使用 DLL。
推荐阅读
- python - 在嵌套列表中查找唯一的子列表
- c++ - 导出具有标准互斥体成员的类的问题
- kerberos - jxBrowser 对 SPNEGO / Kerberos 的支持
- python - 匹配两个数据帧的列,如果匹配,则从第一个数据帧中获取相应的列
- tensorflow - 我应该如何理解 tensorflow 对象检测 api 中的预热学习率?
- java - 位于服务器中的 Thymeleaf 图像绑定
- c# - PDF 损坏的 iTextSharp C#
- php - 来自使用 json 数据的 ajax 成功响应的未定义值
- git - git:在合并时取消暂存更改而不影响将来的合并
- c# - 无法将 Base64 图像设置为背景图像 MVC