Microsoft
Software
Hardware
Network
Question : 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
Answer : Windows messaging
No, you can use your own constant.
I do however recommend that you use the function RegisterWindowMessage() to obtain your constant.
Random Solutions
Microsoft Movie Maker
How do I get my youtube video to show up in Google search results
VmWare on Win7 x64 - Failed to take snapshot of source volume
HP printer won't print, Dell printer will - This is after being attacked by TDSS
Copy what user types in a text filed in to a hidden field
Text File Formats Mac to Windows
Ms Access query within query
Apply module to article linked via front page
create a demo database
SQL Query Results into a TextBox