Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#1

Einmaliges Casten einer Vererbung?

  Alt 8. Feb 2015, 12:10
Hallo Zusammen!

Gegeben sein eine Klasse

Delphi-Quellcode:
type
   TMyRoot = Class
   end;

   TFoo = class(TMyRoot)
     private
        Fb : boolean;
     Public
        Property nichtInRoot : Boolean read Fb write Fb;
   end;

   TBaa = class
     Private
       FAkt : TMyRoot;
     public
       Property Akt : TMyRoot : read FAkt write FAkt;
   end;
An jeder Stelle wo ich also auf "nichtInRoot" zugreifen will muss ich also schreiben:

if TFoo(Baa.Akt).nichtInRoot then Gibt es nicht eine Möglichkeit nach dem Motto:

Delphi-Quellcode:
Baa.AktType := TFoo;
if Baa.ConvertedAkt.nichtInRoot then
schreiben zu können?

Oder:

Ich müsste doch "eigentlich" nur dem TMyRoot den aktuellen typen mitteilen, oder?

Delphi-Quellcode:
Procedure Notify(Sender : TMyRoot);
begin
  if Sender.AktType.nichtInRoot then
end;
Geht das?

Mavarik
  Mit Zitat antworten Zitat