Einzelnen Beitrag anzeigen

Ralle1

Registriert seit: 2. Nov 2011
49 Beiträge
 
Delphi XE3 Professional
 
#1

VCL Komponente unterschiedlich ableiten

  Alt 24. Mär 2014, 16:38
Hallo,

Ich plane in einer größeren Anwendung grafische Elemente wie z.B. TPageControl durch modern wirkende Komponenten aus dem Hause TMS auszutauschen.
Der Austausch soll dabei möglichst zentral passieren. Im 1. Schritt habe ich eine leere Komponente erstellt: TMyPageControl 1:1 abgeleitet von TPageControl.
Dies habe ich zentral ausgetauscht und könnte diese nun im nächsten Schritt anderweitig ableiten (von TAdvOfficePager).

Um dies zentral zu steuern und erst nach kompletter Fertigstellung zu aktivieren, habe ich es mit einer bedingten Compilierung geschaltet. Sieht etwas so:
Delphi-Quellcode:
type
  {$IFDEF CLASSIC_CONTROL}
  TMyPageControl = class(TPageControl)
  {$ELSE}
  TMyPageControl = class(TAdvOfficePager)
  {$ENDIF}
    { Private-Deklarationen }
    //...
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy;
  end;
Nun meine Frage:
Kann man dies auch irgendwie zur Laufzeit ohne Compilerschalter hinbekommen?
Also praktisch ein PageControl dass sowohl TPageControl als auch TAdvOfficePager darstellen kann. Wie wäre Euer Ansatz zu dieser Lösung?

Besten Dank schonmal für eure Anregungen!
  Mit Zitat antworten Zitat