Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: neue basiscomponente von Tcustomcontrol ableiten

  Alt 27. Sep 2003, 17:24
Moin kiar,

nein, dadurch, dass TBasisCompo von TCustomControl abgeleitet wird, und diese die Methode Paint enthält (mindestens als proteced deklariert), enthält TBasisCompo die Methode auch. Durch das überschreiben hat man nur die Möglichkeit die Arbeitsweise einer geerbten Methode (virtual/dynamic) zu verändern, man muss es nur nicht.
Da in diesem speziellen Falle die Methode unter protected deklariert ist, kann auf diese allerdings nicht in einer anderen Unit darauf zugreifen, wenn man eine Instanz von TBasisCompo bildet.

Schau Dir dazu auch mal den Abschnitt über private, protected und public in der Hilfe an.

Beispiel:
In der Unit1 wird TBasisCompo deklariert, in Unit2 TNachfahr (hier wird Paint veröffentlicht), und in Unit3 wird eine Instanz von TNachfahr gebildet

Delphi-Quellcode:
// Unit1

type
  TBasisCompo = class(TCustomControl)
  end;

// Unit2

uses ..., unit1;

type
  TNachfahr = class(TBasisCompo)
  public
    procedure Paint; override;
  end;

implementation

procedure TNachfahr.Paint;
begin
  //...
end;

// Unit3

implementation
uses unit2;

procedure TForm3.Button1Click(Sender: TObject);

var
  nf : TNachfahr;

begin
  nf := TNachfahr.Create(self);
  nf.Paint;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat