Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#2

AW: VCL Komponente unterschiedlich ableiten

  Alt 24. Mär 2014, 16:03
Kann man dies auch irgendwie zur Laufzeit ohne Compilerschalter hinbekommen?
Jain.
Man kann eine Container-Typen erstellen, welcher dann intern den gewünschten Typen erstellt ... siehe z.B. TPicture (im TImage), welches in seinem .Graphic entweder ein TBitmap, TJpegImage, TPngImage oder sonstwas behandeln kann.


Zur Laufzeit brauchst du beide Typen (vollständig als eigene Typen deklariert)
und da könntest du dann beim Erstellen entscheiden von welchem Typ erstellt werden soll. (also der Container, wo dann das Gewünschte reingemacht wird)

Oder man nutzt ein Designtime-Package mit dem einem Typ und für's Kompilieren einen Quellcode mit dem anderen Typ, bzw. den anderen Typ in einem Runtime-Package.



Warum nicht direkt gleich den gewollten Typen verwenden?
Man kann natürlich mit einem Typen entwickeln und den später austauschen, aber auch nur, wenn die Property kompatibel sind.
Denn wenn die DFMs z.B. mit deim einem Typen erstellt wurden, dann knallt es, wenn man Diese dann mit dem anderem Typen versucht zu laden und er eines der Property nicht kennt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (24. Mär 2014 um 16:13 Uhr)
  Mit Zitat antworten Zitat