Hallo!
Ich möchte innerhalb meines Programms eine Nachricht senden. Wenn diese empfangen wird, soll eine Procedure ausgeführt werden. Leider bin ich mithilfe der Suchfunktionen der
DP und auch der EE nicht wesentlich weiter gekommen. Folgenden Codeschnipsel habe ich:
Delphi-Quellcode:
const
WM_LOESCHMICH = WM_USER + 123;
// die Message (immer als WM_USER + irgendeine Zahl deklarieren)
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure LoeschMich(
var Msg: TMessage);
message WM_LOESCHMICH;
// der MessageHandler
public
{ Public-Deklarationen }
end;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
PostMessage(
Handle, WM_LOESCHMICH, Integer(Sender), 0);
// an Form senden (Handle), in WParam den Button stecken
end;
procedure TForm1.LoeschMich(
var Msg: TMessage);
begin
TObject(Msg.WParam).Free;
// WParam nach TObject casten und freigeben
end;
Fragen: Ich möchte
Delphi-Quellcode:
const
WM_LOESCHMICH = WM_USER + 123; // die Message (immer als WM_USER + irgendeine Zahl deklarieren)
innerhalb einer Klasse deklarieren. Wo muss dann hin? Und was hat WM_User zu bedeuten?
Genauso wenig verstehe ich folgende Zeile:
TObject(Msg.WParam).Free; // WParam nach TObject casten und freigeben
Wer kann mir helfen?