Fråga : Windows messaging

Jag har en singelfönsterapplikation var jag passerar meddelanden mellan olika enheter using den standarda SendMessagen och PostMessage.  Denna all works

When som passerar en stränga, jag använder kodifiera:

    copyDataStruct.dwData := 1;
copyDataStruct.cbData: = 1 + längd (AString);
copyDataStruct.lpData: = PChar (AString);

SendMessage (Application.MainFormHandle, WM_PLG_COPYDATA, ATarget, heltalet (@copyDataStruct));

where WM_PLG_COPYDATA är ett konstant privat för messaging till min egna applikation, som mottas av ett meddelande fungerar av tillvägagångssättet WMCopyData (var-Msg för form
: TWMCopyData); meddelande WM_PLG_COPYDATA; arbeten för

This också, även om alla av exempel mig har sett (kopiera mellan applikationer) bruk det standarda tillvägagångssättet WMCopyData (var-Msg: TWMCopyData); meddelande WM_COPYDATA;

My ifrågasätter är: finns det några resonerar varför jag bör klibba till den standarda WM_COPYDATAEN ganska än en privat konstant?  Jag har gjort en kontroll för minne läcker, och allt verkar OK
" klar "

Svar : Windows messaging

Inte du kan använda din egna konstant.

Jag rekommenderar emellertid att du använder fungera RegisterWindowMessage () för att erhålla din konstant.
Andra lösningar  
 
programming4us programming4us