Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#1

Variant-Umwandlung in Single ergibt Integer?!

  Alt 12. Jun 2006, 00:38
Sers mitnand!

Ich habe das interessante Problem, dass ein Variant (Inhalt: 0.75 Typ: varOleStr) aus einer XML-Datei, der in einen Single umgewandelt werden soll, in einen Integer mit dem Wert 75 umgewandelt wird.


Der Code sieht (gekürzt ) so aus:

Delphi-Quellcode:
var
  Vector:TD3DXVector3 //Ein Record mit den Single-Elementen x,y und z
  Attrib:Variant;
  DS:Char;
begin
  DS:=DecimalSeparator;
  DecimalSeparator:='.';
  //herausgeschnittenes, erfolgreiches Auslesen von 0.75 und Setzen von Attrib
  if not VarIsNull(Attrib) then
   Vector.x:=Attrib;
  //selbiges für Vector.y und Vector.z
  //und noch ein paar Überprüfungen
  DecimalSeparator:=DS;
end;
Wie man sieht ändere ich sogar den DecimalSeparator auf '.' um, doch das hilft auch nichts... auch VarAsType(Attrib,varSingle) bleibt ohne Erfolg... Des sollte doch bei einem Variant möglich sein?!

Ich hoffe auf eine erlösende Antwort und wünsche eine gute Nacht
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat