Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Eigene Komponente mit erweitertem Construktor?

  Alt 22. Jan 2018, 10: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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