加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Delphi中加载同一DLL的两个实例

发布时间:2020-12-15 09:16:00 所属栏目:大数据 来源:网络整理
导读:这是我的问题:我想创建同一DLL的两个单独的实例. 以下不起作用,因为Handle1和Handle2将获得相同的地址 Handle1 := LoadLibrary('mydll.dll'); Handle2 := LoadLibrary('mydll.dll'); 以下工作,但我必须复制DLL并将其重命名为其他东西(这看起来有点傻) Handl
这是我的问题:我想创建同一DLL的两个单独的实例.

以下不起作用,因为Handle1和Handle2将获得相同的地址

Handle1 := LoadLibrary('mydll.dll');
  Handle2 := LoadLibrary('mydll.dll');

以下工作,但我必须复制DLL并将其重命名为其他东西(这看起来有点傻)

Handle1 := LoadLibrary('mydll.dll');
  Handle2 := LoadLibrary('mydll2.dll');

有没有办法只有一个DLL文件,但加载它的几个实例?

解决方法

我不认为这是可能的.

你必须编写一个加载dll的.exe.然后你可以跨越多个进程(.exe),每个进程都会运行自己的dll实例.您必须使用IPC(进程间通信)技术与.exes进行通信.当然可行,但不是一个明智的选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读