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