Ich handhabe das immer so:
Delphi-Quellcode:
const
WM_MY_MESSAGE = WM_USER + 100;
type
TTest = class(TObject)
private
procedure WndProc(var Msg: TMessage);
procedure OnMyMessage(var Msg: TMessage); message WM_MY_MESSAGE;
end;
procedure TTest.WndProc(var Msg: TMessage);
begin
Dispatch(Msg);
end;
procedure TTest.OnStartupMessage(var Msg: TMessage);
begin
if (Msg.Msg = WM_MY_MESSAGE) then
begin
end;
end;
Hat bisher immer geklappt.
Das habe ich auch schon so hinbekommen.
Aber: Ich möchte die Verbindung zwischen der aufrufenden Windows-Message und der durch diese aufgerufenen Prozedur nicht fest in der Klasse implementieren.
Die Message-ID soll dem Objekt beim Create mit übergeben werden können. Daher kann ich nicht mit einer Konstanten arbeiten.