Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: GetClass/Create: Constructor wird nicht aufgerufen

  Alt 24. Mai 2018, 11: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,
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (24. Mai 2018 um 11:26 Uhr)
  Mit Zitat antworten Zitat