Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Eigene Komponente mit erweitertem Construktor?

  Alt 22. Jan 2018, 11:36
Ohne das override , da du ja was Neues machst.
Und wie bereits gemacht, das inherited; mit explititem Aufruf inherited Create(AOwner); , aber besser ohne Inherited, also nur Create(AOwner); , siehe abschließenden Absatz.

Eventuell aber mit virtual , falls du es in Nachfahren überschreiben willst.
Aber zu bedenken ist, dass bei Erstellung über die DFM (Komponente auf der Form) immer nur das originale Create(AOwner) vom DFM-Loader aufgerufen wird,
also wichtige Initialisierungscodes müssen immer in Create. Aus diesem Grund auch ohne inherited, um auch nachfolgende Überschreibungen von Create(AOwner) zu erwischen.

[edit] Wie Bernhard schon sagte: Der wichtige Code muß ins originale Create und nur zusätzlicher/abweichender Codes in deinen neuen Constructor.
Da dann auch immer den normalen Constructor Create(AOwner) aufrufen ... wenn es nicht anders geht, dann Create(AOwner) als final dekalieren und ein weiteres Überschreiben sperren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (22. Jan 2018 um 13:12 Uhr)
  Mit Zitat antworten Zitat