Achso, dann mal mit TValue versuchen.
Delphi-Quellcode:
Result := TValue(42).AsType<T>;
Result := TValue(42).Cast<T>;
...
Selbst wenn der Compiler
Result := TSonstwas(42);
erlaubt, wird es so eh nicht gehen, denn bei einem String kommt da nur Schrott bei raus.
Ein Therapeut entspricht 1024 Gigapeut.