Auszug aus Controls.pas:
Delphi-Quellcode:
TGraphicControl = class(TControl)
private
FCanvas: TCanvas;
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
protected
procedure Paint; virtual; //<-- HIER !!!
property Canvas: TCanvas read FCanvas;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
Oben ist die Definition von TGraphicControl, und die
hat schon eine virtuelle Methode
Paint. Die musst du mit
override überschreiben, aber nicht mit
abstract neu definieren.
Nachtrag: und das
override natürlich nur in der Klasse wo du es überschreibst.