Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

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

AW: FormularArray den richtigen Create aufrufen! Wie?

  Alt 3. Feb 2014, 14:58
Delphi-Quellcode:
type
    TVater = Class( TForm )
      public
        Procedure SetFoo( A : TComponent ); Virtual; Abstract;
    end;

   TVaterClass = Class of TVater;

    TMyForm = class( TVater )
      public
        Procedure SetFoo( A : TComponent ); override;
   end;

var
  AktForm : TVater;
  FC : TFormClass;
begin
  FC := GetForm('FormName'); // holt die Registriere Formclass TMyForm... (Source verkürzt)

  if FC.InheritsFrom( TVater ) then
  begin
    AktForm := TVaterClass( FC ).Create( Self ); // Kein Typecast mehr!
    AktForm.SetFoo(Self); // <- Abstracter Fehler ist weg
  end;
end;
Kann ich auch noch testen, ob AktForm.SetFoo(Self); in TMyForm überladen wurde?
Nach dem Motto AktForm hasImplemented(SetFoo), oder so?
  Mit Zitat antworten Zitat