Zitat von
M. Hassmann:
so klappte es bei mir.
Und warum gehst du dann noch den Weg über TVarRec, wenn du das auch gleich ohne eine Variable lösen kannst? Das ist sicherlich nicht das, was HPW wollte.
Im übrigen braucht TVarRec immer das "VType: Byte" Feld. Wenn dieses nicht gesetzt ist, kann Format nicht erkennen, wie es den TVarRec zu interpretieren hat.
Zitat von
HPW:
Danke, aber damit wirft es nun eine
Exception.
Das ist ja auch kein Wunder, denn mit Test[0].VExtended^ dereferenzierst du einen nicht initialisierten Zeiger, was unweigerlich zu einer Schutzverletzung führt.
So würde es gehen, ob das Vorgehen schön ist, ist eine andere Sache.
Delphi-Quellcode:
var
V: array[0..0] of TVarRec;
begin
V[0].VType := vtExtended;
New(V[0].VExtended); // Speicher reservieren
try
V[0].VExtended^ := StrToFloat(edtZahl.Text);
ShowMessage( Format('%f', V) );
finally
Dispose(V[0].VExtended); // Speicher wieder freigeben
end;
end;