Explorar el Código

+ forgot to add some helpers, now type cast helpers for olevariants should be complete

git-svn-id: trunk@1169 -
florian hace 20 años
padre
commit
700aacf6a3
Se han modificado 2 ficheros con 46 adiciones y 3 borrados
  1. 46 1
      rtl/inc/variant.inc
  2. 0 2
      rtl/inc/varianth.inc

+ 46 - 1
rtl/inc/variant.inc

@@ -765,9 +765,9 @@ operator :=(const source : olevariant) dest : comp;{$ifdef SYSTEMINLINE}inline;{
   begin
     dest:=variantmanager.vartoreal(variant(tvardata(source)));
   end;
-
 {$endif SUPPORT_COMP}
 
+
 { Misc. }
 operator :=(const source : olevariant) dest : currency;{$ifdef SYSTEMINLINE}inline;{$endif}
   begin
@@ -883,6 +883,51 @@ operator :=(const source : widestring) dest : olevariant;{$ifdef SYSTEMINLINE}in
   end;
 
 
+{ Floats }
+{$ifdef SUPPORT_SINGLE}
+operator :=(const source : single) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
+  begin
+    variantmanager.varfromreal(variant(tvardata(dest)),source);
+  end;
+{$endif SUPPORT_SINGLE}
+
+
+{$ifdef SUPPORT_DOUBLE}
+operator :=(const source : double) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
+  begin
+    variantmanager.varfromreal(variant(tvardata(dest)),source);
+  end;
+{$endif SUPPORT_DOUBLE}
+
+
+{$ifdef SUPPORT_EXTENDED}
+operator :=(const source : extended) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
+  begin
+    variantmanager.varfromreal(variant(tvardata(dest)),source);
+  end;
+{$endif SUPPORT_EXTENDED}
+
+
+{$ifdef SUPPORT_COMP}
+operator :=(const source : comp) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
+  begin
+    variantmanager.varfromreal(variant(tvardata(dest)),source);
+  end;
+{$endif SUPPORT_COMP}
+
+
+{ Misc. }
+operator :=(const source : currency) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
+  begin
+    variantmanager.varfromcurr(variant(tvardata(dest)),source);
+  end;
+
+
+operator :=(const source : tdatetime) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
+  begin
+    variantmanager.varfromtdatetime(variant(tvardata(dest)),source);
+  end;
+
 {**********************************************************************
                       Variant manager functions
  **********************************************************************}

+ 0 - 2
rtl/inc/varianth.inc

@@ -399,7 +399,6 @@ operator :=(const source : shortstring) dest : olevariant;{$ifdef SYSTEMINLINE}i
 operator :=(const source : ansistring) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
 operator :=(const source : widestring) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
 
-{
 { Floats }
 {$ifdef SUPPORT_SINGLE}
 operator :=(const source : single) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
@@ -417,7 +416,6 @@ operator :=(const source : comp) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{
 { Misc. }
 operator :=(const source : currency) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
 operator :=(const source : tdatetime) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
-}
 
 {**********************************************************************
                              OLEVariant Operators