DanHamm
asked on
Windows messaging
I have a single windows application where I pass messages between different modules using the standard SendMessage and PostMessage. This all works
When passing a string, I use the code:
copyDataStruct.dwData := 1;
copyDataStruct.cbData := 1 + Length(AString);
copyDataStruct.lpData := PChar(AString);
SendMessage(Application.Ma inFormHand le, WM_PLG_COPYDATA, ATarget, Integer(@copyDataStruct));
where WM_PLG_COPYDATA is a messaging constant private to my own application, which is received by a message function of the form
procedure WMCopyData(var Msg : TWMCopyData); message WM_PLG_COPYDATA;
This also works, although all of the examples I have seen (copying between applications) use the standard procedure WMCopyData(var Msg : TWMCopyData); message WM_COPYDATA;
My question is: is there any reason why I should stick to the standard WM_COPYDATA rather than a private constant? I have done a check for memory leaks, and everything seems OK
When passing a string, I use the code:
copyDataStruct.dwData := 1;
copyDataStruct.cbData := 1 + Length(AString);
copyDataStruct.lpData := PChar(AString);
SendMessage(Application.Ma
where WM_PLG_COPYDATA is a messaging constant private to my own application, which is received by a message function of the form
procedure WMCopyData(var Msg : TWMCopyData); message WM_PLG_COPYDATA;
This also works, although all of the examples I have seen (copying between applications) use the standard procedure WMCopyData(var Msg : TWMCopyData); message WM_COPYDATA;
My question is: is there any reason why I should stick to the standard WM_COPYDATA rather than a private constant? I have done a check for memory leaks, and everything seems OK
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.