Einzelnen Beitrag anzeigen

FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#33

AW: Wie kann ein Zeiger auf eine Funktion als Paramater übergeben werden?

  Alt 5. Dez 2010, 16:12
Delphi-Quellcode:
TMyObject = class(TComponent)
private
  FMessageID: LongWord;
protected
  procedure WndProc(Message: TMessage); override;
public
  constructor Create(Owner: TComponent; MessageID: LongWord);
  property MessageID: LongWord read FMessageID;
end;

procedure TMyObject.WndProc(Message: TMessage);
begin
  if Message.msg = MessageID then
  begin
    // mach was
  end;
end;

constructor TMyObject.Create(Owner: TComponent; MessageID: LongWord);
begin
  inherited Create(Owner);
  FMessageID := MessageID;
end;


id := WM_APP + 123;
obj := TMyObject.Create(nil, id);

PostMessage(obj.Handle, id, nEvent, 0);
obj.Perform(id, nEvent, 0);
oder irgendwie so
So ganz funktiniert das noch nicht.
Ich habe noch zwei Fragen:
1.) Wird die Methode .WndProc automatisch aufgerufen, nachdem .Perform ausgeführt wurde?
2.) PostMessage und damit wohl auch .Perform sollen innerhalb der Klasse aufgerufen werden. Wie muss das dann aussehen?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat