请教:dll同时被两个进程调用,怎么共享dll中使用到的数据,就是dll中变量在进程1被赋值,进程2可以得到该值。谢谢

lwsandy 2006-05-13 04:07:36
请教:dll同时被两个进程调用,怎么共享dll中使用到的数据,就是dll中变量在进程1被赋值,进程2可以得到该值。谢谢
...全文
214 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwsandy 2006-05-15
  • 打赏
  • 举报
回复
谢谢lother,不过这种方法目前在cb6.0不支持。采用CreateFileMapping解决。
另外有一个问题:在dll中使用一个Form上面有Indy的TIdUdpClient和TIdUdpServer两个组件。同时有两个不同程序进程连接到dll上面,dll通讯组件接受到的消息,根据不同进程句柄转发给不同进程。这样,只能够建立一个dll的form和通讯组件实例。这样如何控制,谢谢
lother 2006-05-14
  • 打赏
  • 举报
回复
在DLL中的工程中,假设为MouseHook.bpr(产生MouseHook.DLL)
// 1.在Unit1.cpp的最前面(#include <windows.h>之前)加上
// #pragma option -zRmydata // 改变缺省数据段名
// #pragma option -zTmyclass // 改变缺省数据类名
// 2.新建一工程同名的纯文本文件MouseHook.def,其内容只要
// 一行:
// SEGMENTS mydata CLASS 'myclass' SHARED
// 并将此文件用Project->Add Project增加到工程中;
// 3.在你的程序代码的前面定义的全局变量都将是DLL共享的,
// 在Unit1.cpp中,例如:

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧