FLink := T(TComponentClass(T).Create(nil));
Ich habe hier ein Verständnisproblem.
Wird hier nicht nur TComponentClass erzeugt?
Wenn T "größer" sein sollte (T abgeleitet von TComponentClass), dann fehlt doch die Hälfte nach der Instanziierung, oder nicht?
Nein, weil TComponent.Create(AOwner: TComponent) virtual ist.
Im Übrigen gibt es genau dieses Problem in C# auch.
Ich habe leider keine bessere Lösung als Delegates der Form:
Code:
{ return new myType(...); }
gefunden.
Glaub ich nicht, das wäre das erste mal, dass Delphi im Bereich Generics einen Schritt weiter als C# ist.
Result := T(T.NewInstance);
Result.Create('Hello World');
Funktioniert in der Tat, fühlt sich aber irgendwie fies an