Einzelnen Beitrag anzeigen

Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: CustomControl Vererbung und Paint

  Alt 13. Sep 2017, 21:07
Wieso sollte ein nochmaliges Überschreiben nicht funkionieren? Das wäre ja gegen alles, was ich von OOP so kenne. Gegenbeispiel:
Delphi-Quellcode:
type
  TClassA = class
  protected
    procedure Blubb; virtual;
  end;

  TClassB = class(TClassA)
  protected
    procedure Blubb; override;
  end;

  TClassC = class(TClassB)
  protected
    procedure Blubb; override;
  end;

  TClassD = class(TClassC)
  public
    procedure Blubb; override;
  end;

{ TClassA }

procedure TClassA.Blubb;
begin
  ShowMessage('Bubb aus Class A');
end;

{ TClassB }

procedure TClassB.Blubb;
begin
  inherited;
  ShowMessage('Blubb aus Class B');
end;

{ TClassC }

procedure TClassC.Blubb;
begin
  inherited;
  ShowMessage('Blubb aus Class C');
end;

{ TClassD }

procedure TClassD.Blubb;
begin
  inherited;
  ShowMessage('Blubb aus Class D');
end;

procedure TForm5.FormCreate(Sender: TObject);
var
  Dingens: TClassD;
begin
  Dingens := TClassD.Create;
  try
    Dingens.Blubb;
  finally
    Dingens.Free;
  end;
end;
Da kommen alle Messages schön von "oben" nach "unten" durchgeblubbert, hab ich auch nicht anders erwartet.
Probier das mal mit der Paint Procedure so wie ich und versuche die mal 2x zu überschreiben, genau das ist ja das Problem z.Z.
  Mit Zitat antworten Zitat