Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
24. Mai 2018
Nein, man kann auch Klassen-Typen casten.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
24. Mai 2018
Vom Prinzip ändert es aber nichts.
Das was aus GetClass raus kommt muß früher oder später gecastet werden, um an den richtigen Constructor ranzukommen.
Und um dass nochmal zu kommentieren.
Doch, es wurde definitiv ein Constructor aufgerufen ... nur halt nicht Deine(r).
> TObject.Create :zwinker:
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
24. Mai 2018
Ach stimmt, falsch gesehn.
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 , aber da sowas bei den Generics nicht geht, dann eben Item :=...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
24. Mai 2018
GetClass gibt TClass zurück.
Du mußt das erst nach TPersistent casten, um dessen virtuellen Constructor nutzen zu können, da TClass diesen nicht kennt.
Hmmm, neee, GetClass stimmt.
Und der Cast T sollte diesen Constructor auch kennen, aber vielleicht klappt das nicht da TObjectList<T> nur TObject/TClass kennt und der Generic deswegen hier mal wieder nicht richtig funktioniert? :gruebel:
...