首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DLL窗体之间发消息有关问题

2013-07-09 
DLL窗体之间发消息问题现有主窗体Main,DLL包中有Form1,Form2Main运行后半入DLL包,现在我想Form2想发消息到

DLL窗体之间发消息问题
现有主窗体Main,
DLL包中有Form1,Form2

Main运行后半入DLL包,
现在我想Form2想发消息到Form1,但是收不到消息,发给主窗体Main可以收到 
代码如下:
发Form1,这失败
H := FindWindow('Tform1',Nil);,,得到H=0
postMessage(H,MessageIDNo,1,1)

发Main,这正常
H := FindWindow('Tmain',Nil);
postMessage(H,MessageIDNo,1,1)


[解决办法]
H := FindWindow('Tform1',Nil);,,得到H=0
至少先把句柄找到再说吧
[解决办法]
你都知道h=0了,就是没找到这个窗口的句柄,发送消息当然失败。
主窗口当然能找到句柄,除非程序关闭了才找不到。
跟dll通讯用其他方式,如内存映射、管道。。。
[解决办法]
两个dll在被主程序加载时就实例化窗体!
然后再根据需要显示出来!
应该就可以互相发送消息了!
呵呵!

为啥不从特定的基类继承下来
或者实现相应的接口
这样调用起来不是更方便!
当然发消息也可以!
呵呵!

热点排行