Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.439 Beiträge
 
Delphi 10.4 Sydney
 
#36

Re: Kind as Opa innerhalb der Deklerartion

  Alt 10. Sep 2009, 13:03
Wenns den unbedingt sein muss ...
Delphi-Quellcode:
type
  TOpa = class(TObject)
  private
    FAlter: Integer;
  public
    procedure SagWas; virtual;
    property Alter: Integer read FAlter write FAlter;
  end;

  TVater = class(TOpa)
  public
    procedure SagWas; override;
  end;

  TKind = class(TVater)
  public
    procedure SagWas; override;
  end;

  TSagWasProcedure = procedure (Self: Pointer);

procedure TOpa.SagWas;
begin
  showmessage(Format('Opa ist %d Jahre alt.', [Alter]));
end;

procedure TVater.SagWas;
begin
  showmessage(Format('Vater ist %d Jahre alt.', [Alter]));
end;

procedure TKind.SagWas;
var
  Proc: TSagWasProcedure;
begin
// showmessage(Format('Kind ist %d Jahre alt.', [Alter]));
  Proc := @TOpa.SagWas;
  Proc(Self);
end;

procedure TFTest.Button6Click(Sender: TObject);
var
  K: TKind;
begin
  K := TKind.Create;
  K.Alter := 10;
  K.SagWas;
  K.Free;
end;
gehts auch ohne Assembler.
  Mit Zitat antworten Zitat