D DancingAgain Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-28 #1 窗口之间要互传数据,请问用甚末方法好? 如果用一窗口向另一窗口发消息的方法,如何传递数据?(消息参数不够用时)
P pegasus Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-28 #2 以前曾经讨论过这个问题,好像有以下几种方法: 1。 发送Message,构做一种协议,把数据块用Message的方法发送过去, 例如第一条消息表示后面有多少条消息是数据 2。 共享内存 3。 用文件共享,发送消息通知数据就绪和处理完毕 4。 用WM_COPYDATA 5. 或者其他进程间通讯机制都能用上
以前曾经讨论过这个问题,好像有以下几种方法: 1。 发送Message,构做一种协议,把数据块用Message的方法发送过去, 例如第一条消息表示后面有多少条消息是数据 2。 共享内存 3。 用文件共享,发送消息通知数据就绪和处理完毕 4。 用WM_COPYDATA 5. 或者其他进程间通讯机制都能用上
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-28 #3 参数消息不够用??? 不会把一个结构的地址作为lparam发送吗(wparam一般放发送者的handle)? 结构中可以是任何数据.
柳 柳五公子 Unregistered / Unconfirmed GUEST, unregistred user! 1999-07-28 #5 该说的都给pegasus说了。:-( 参数不够用时的解决办法可以是用共享内存,文件。 >>结构的地址在不同的进程之间是不能乱用的 但一个非常有意思的用法是wm_copydata,结构的地址空间是由系统维护的! 所以可以把一个结构指针做在COPYDATASTRUCT里,传到另一个窗口中(只要它 处理wm_copydata消息!!)
该说的都给pegasus说了。:-( 参数不够用时的解决办法可以是用共享内存,文件。 >>结构的地址在不同的进程之间是不能乱用的 但一个非常有意思的用法是wm_copydata,结构的地址空间是由系统维护的! 所以可以把一个结构指针做在COPYDATASTRUCT里,传到另一个窗口中(只要它 处理wm_copydata消息!!)
D DancingAgain Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-02 #7 若把一个结构的地址作为lparam发送,赋值时会不会不允许把结构的地址赋给long word型? 我的Delphi知识实在少的可怜,甚至不知道结构的地址怎么表示。
P pegasus Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-02 #8 Delphi中的地址用@前缀来获得,例如: Var i: Integer; @i就是 i的地址。 使用强制类型转换就行了: Sendmessage(xxxxx, xxx, long(@i));
D DancingAgain Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-02 #9 其实我一直对各数据类型的转换很糊涂,希望大家能帮助我 。 比如,整形和指针的转换。
D DancingAgain Unregistered / Unconfirmed GUEST, unregistred user! 1999-08-03 #11 >>发送Message,构做一种协议,把数据块用Message的方法发送过去, 例如第一条消息表示后面有多少条消息是数据 ? 这是指后面的消息的参数其实就是数据?