Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: format zur runtime mit versch.Typen

  Alt 29. Sep 2007, 10:10
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;
  Mit Zitat antworten Zitat