想实现的功能是这样子的:
程序a.exe的调用b.dll的一个函数,我把a。exe中的一个列表地址作用这个导出函数的参数,这样b.dll就能够使用这个列表对象。现在a和b中都在操作这个列表,a中有可能删除列表中的某一项,不知道怎么互斥。本来想把TRTLCriticalSection传过去,结果不行。
望高手指点下。
程序a.exe的调用b.dll的一个函数,我把a。exe中的一个列表地址作用这个导出函数的参数,这样b.dll就能够使用这个列表对象。现在a和b中都在操作这个列表,a中有可能删除列表中的某一项,不知道怎么互斥。本来想把TRTLCriticalSection传过去,结果不行。
望高手指点下。
解决方案 »
- 散分!成为一星用户
- 如何正确处理MDI窗口与登录窗口的关系,高手请帮帮忙
- 变量初始化的问题!:急,在线等,有答案立即结贴!
- 各位大侠,谁知道过滤黄色网站或其他不良网站的原理是什么啊?
- 我做的打包程序是用WIN2000+SQL2000但到WIN98下安装不能用是怎么回事
- 强分了 !!!
- delphi文本中数组查找与比较
- 请问,有哪位大哥知道学习Windows各项原理的资料?我记得是什么什么Library!可是想不起来了.
- 如何将不规则形状区域(已知其HRGN)从一 Canvas Copy 到另一 Canvas?
- 实现电脑上输入电话号码,直接拨号
- 求助,在循环中,timer无法执行问题
- 【bitxunmeng】生日快乐,如果爱,请深爱
还有就是:dll和exe中都有窗体,并且窗体的事件响应中都涉及到操作列表,不过这看似同时的操作,其实也是分时的,某个事件响应函数没完事,绝对不会响应另外一个事件的。
如果你的程序是多线程的,那才涉及的同步问题。在单线程中,像你说的,a在删除列表中的项,在没有完成删除之前,是不会有其他的函数能够操作这个列表的。不论操作列表的函数是在dll中还是exe中
如果是这样,在dll中引出一个回调函数就可以了,a删除了列表之后,调用一下回调函数。
如果exe和dll都有窗体,那发消息通知也行