Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Vererbung: Wie rufe ich Klasse.Parent.Methode auf?

  Alt 24. Okt 2014, 10:41
Habe den Source mal angepasst. Nicht schön aber sollte gehen...
Delphi-Quellcode:
...
begin
    // Hier sollte immer TMutter.b aufgerufen werden!!!
// +++++++++++
    TMethod(Proc).Code := @TMutter.b;
    TMethod(Proc).Data := Self;
    Proc();
// +++++++++++
// b;
  end;
  Log('TMutter.a2');
end;
...
Danke für Deine Antwort.
Ich denke imMoment darüber nach mit den Methoden Pointer zu ermitteln und die Methode über die Adresse direkt aufzurufen. Aber das muß auch einfacher gehen.
Das war auch meine Idee, aber wie Du schon sagtest: "nicht schön"

@Uwe: Stimmt, auf die Idee bin ich gar nicht gekommen. Ich probier das mal aus. Danke.

@Chris: Das geht leider nicht, da ich das alte Verhalten ja durchaus wünsche, wenn (True) übergeben wurde. Außerdem sollte man wenn man es so macht das Schlüsselwort reintreduce verwenden um zu dokumentieren, dass man genau das machen möchte und nicht aus versehen virtual/override vergessen hat.

Danke für die Antworten
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat