Ich versuche eine Variable vom Typ Single als Variant zu speichern. Allerdings wird diese als Double im Variant gespeichert. Gibt es da irgendein workaround?
Ich nutze Lazarus 2.0.12 / FPC 3.2.0
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
Variants;
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var
mySingle: Single;
myVariant: Variant;
begin
mySingle := 10.85;
myVariant := mySingle;
// myVariant := Single(10.85);
Case varType(myVariant) of
varSingle:
ShowMessage('Datentyp: Single');
varDouble:
ShowMessage('Datentyp: Double');
else
ShowMessage('Sonstiger Datentyp oder Zustand');
end;
end;
end.