Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: GetClass/Create: Constructor wird nicht aufgerufen

  Alt 24. Mai 2018, 10:21
Ach stimmt, falsch gesehn.

Delphi-Quellcode:
TMyPersistent = class(TPersistent)
public
  constructor Create; virtual;
end;
Entweder das ist override aus TPersistent oder davor, dann kannst du TPersistent für das Create verwenden.

Ansonsten mußt du es vorher nach TMyPersistentClass casten und da dann das Create aufrufen.
Im prinzip
Zitat:
Item := TC(MyClass).Create; // TC = class of T;
, aber da sowas bei den Generics nicht geht, dann eben Item := T(TMyPersistentClass(MyClass).Create);


TPersistent oder war es TComponent , hat aber schon einen virtuellen Constructor und jenen solltest du unbedingt verwenden, da deine Klassen sonst mörderisch abrauchen, sollten sie jemals mit dem FormDesigner, bzw. dem DFM-Streaming im Berührung kommen,
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. Mai 2018 um 10:26 Uhr)
  Mit Zitat antworten Zitat