Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

inherited für Vorfahren-Methode aufrufen

  Alt 9. Aug 2007, 14:57
Mir ist so recht nicht der richtige Titel eingefallen und wie ich nach diesem Thema suchen soll ???????

Hier das Problem:

Ich habe eine eigene Klasse mit Eigenschaften und überschriebenen Methoden des Vorfahren. Eine weitere vererbte Klasse meiner neuen Klasse soll aber eine virtuelle Methode des alten Vorfahren mit inherited aufrufen. Wie mach ich das?

hier ein Beispiel:
Delphi-Quellcode:
  TMyBaseControl = class(TCustomControl)
  private
    FfirstProperty : string;
  protected
    procedure Paint; override;
  end;


  TMyNewControl = class(TMyBaseControl)
  protected
    procedure Paint; override;
  end;
Jetzt soll in MyNewControl per inherited aber die Methode Paint aus TCustomControl aufgerufen werden. Schreibe ich es so:
Delphi-Quellcode:
procedure TMyNewControl.Paint;
begin
  inherited Paint;
end;
wird ja der Code aus MyBaseControl.Paint aufgerufen. Wie ist der Aufruf aber für Paint des TCustomControl?

so?
Delphi-Quellcode:
procedure TMyNewControl.Paint;
begin
  inherited TCustomControl.Paint;
end;
oder muß ich da ganz anders ran?

Um Fragen vorzubeugen, in TMyBaseControl.Paint steht natürlich mehr Code.

Dank und gruß oki
42
  Mit Zitat antworten Zitat