调用DLL时,往Application的消息应该怎么截取?

Jimy 2000-01-28 05:40:00
正常时候我挂个事件处理过程在application.onmessage上就行了,
但我发觉,在调用DLL时(交替调用DLL的过程和Application的过程中),
这时Application发出的消息(不是DLL发出的),Application.onmessage
居然不会收到?
请问是什么原因,我想收到这个消息应该怎么做?
谢谢!
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dnchen 2000-02-14
  • 打赏
  • 举报
回复
主程序和DLL的application不是同一个,所以没有用,确实需要的话,你可以在主程序中将application.handle传给dll,dll里的application.handle改为获得的那个,然后把hinstance也改成application的,那样,在dll中就可以象在主程序中一样了。

我在D3里一直这么做来着
929 2000-01-28
  • 打赏
  • 举报
回复
在FORMS单元中有APPLICATION变量的定义,是不是在DLL中也加入了这个单元,造成全局变量的冲突?把DLL中引用的FORMS单元去掉。
radish 2000-01-28
  • 打赏
  • 举报
回复
你如果改了APPILCATION的属性,APPLICATION的HANDLE值有时会改变,还有DLL中的变量你不能用APPLICATION中的代码赋值
Venne 2000-01-28
  • 打赏
  • 举报
回复
重新定义WindowProc,利用这个过程来处理消息而不是经过一个过滤的OnMessage事件.
Venne 2000-01-28
  • 打赏
  • 举报
回复
这个问题很难模仿出来,我想也许应该尝试重新定义WindowProc,利用这个过程来处理消息而不是经过一个过滤的OnMessage事件.
Jimy 2000-01-28
  • 打赏
  • 举报
回复
我在DLL中必须用到Application,看来我的试一下用WindowProc了。
总之,谢谢大家的回答
olo 2000-01-28
  • 打赏
  • 举报
回复
APPLICATION的HANDLE值有时会改变?
怎么会?它是一个HWND呀。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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