Einzelnen Beitrag anzeigen

Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#15

AW: Interfaces, Factory- und Singletonpattern

  Alt 6. Mai 2018, 06:04
Weshalb der Umweg über RTTI ?
Da die Basis-Klasse ja nun einen virtual Constructor enthält, geht es auch direkt via Class-Type:
Code:
Type
  TVTDialogBase = Class(TInterfacedPersistent,IVTDialogCall)
    private
    protected
    public
Constructor VirtualConstructor(); Virtual;
    published
  End;
  TVTDialogBaseClass = Class Of TVTDialogBase;

  TDialogItem = ...
    AClass : TVTDialogBaseClass;
    AInst : TVTDialogBase;
  end;

// [..]

var
  dm : TDialogItem;
Begin
  dm.AInst := dm.AClass.VirtualConstructor();
end;
  Mit Zitat antworten Zitat