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
Outlook login prompt
How many procesors do I have?
Folder rights questions
Files Icons is Not Appearing
Using T-SQL Need to return first day of the 34th week last year.
SQL 2005
offset sort overlapping values
How did this happen?
Sync Quickbooks data with Network Drive
Windows 2003 Server Remote Sites not Replicating with main location