Warum ein Record? Ernsthaft, wenn jmd irgendwo etwas sieht, was keine Klasse ist, wird er sich denken, dass es einen sehr guten Grund gab. Aber den gibt es hier überhaupt gar nicht.
Solche ÖHM....
Momente haben in APIs nix zu suchen.
Wo ist der Unterschied einer statischen Klasse oder einem Rekord in diesem Fall?
Delphi unterstützt nämlich keine Typenparameter in einfachen Routinen.
Wenn du schon D2010 nutzt, dann nutze es auch.
Ich habe es nicht ausprobiert und spreche den neuen Krams von Delphi nicht fließend, aber wenn ich eine generische Methode zum Wandeln in einen String ab D2010 schreiben müsste, würde das wohl so aussehen:
Hier stimme ich dir vollstens zu, habe ich auch vorhin nicht mehr dran gedacht, sonst hätt ich es erwähnt
Dennoch kleine Korrektur:
TValue.From<T>(Value).ToString
denn AsString versucht, den Typen in einen string umzuwandeln, das wird fehlschlagen.