Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

Muss Sender immer TComponent sein?

  Alt 21. Jan 2011, 12:30
Hallo,

ich hab eine Klasse TMSG (ohne Form), die Nachrichten-Strings sammelt und eine Klasse TViewMSG (mit Form), die Nachrichten anzeigt.

z.Zt. wird ein TViewMSG Object in TMSG erzeugt über:
fViewMSG:= TViewMSG.Create(nil);
Die Klasse bzw. das Form TViewMSG hat noch keine eigene OnCreate-Routine.

Nun möchte ich das aber so ändern, dass TViewMSG eine Referenz auf TMSG bekommt, indem sich zunächst der Aufruf in TMSG ändert zu:
fViewMSG:= TViewMSG.Create(self);

Gleichzeitig hab ich dann auch das OnCreate-Ereignis testweise in TViewMSG erzeugt:
Delphi-Quellcode:
procedure TViewMSG.FormCreate(Sender: TObject);
begin
  showmessage(Sender.ClassName);
  inherited Create(nil);
end;
Der Kompiler meckert aber schon bei fViewMSG:= TViewMSG.Create(self);
[Fehler] uMSG.pas(200): Inkompatible Typen: 'TComponent' und 'TMSG'

Daher die Frage, muss der Sender immer eine Komponente sein, oder was versteh ich da nicht?

Jumpy
Ralph
  Mit Zitat antworten Zitat