Thema: Delphi Eine Message senden

Einzelnen Beitrag anzeigen

Koller

Registriert seit: 22. Mär 2005
59 Beiträge
 

Eine Message senden

  Alt 11. Jun 2006, 19:20
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?
  Mit Zitat antworten Zitat