Browse Source

* Implemented TFMTBcdFactory.Clear and TFMTBcdFactory.Copy methods.

git-svn-id: trunk@9552 -
yury 17 years ago
parent
commit
5f8bd39408
1 changed files with 17 additions and 0 deletions
  1. 17 0
      rtl/objpas/fmtbcd.pp

+ 17 - 0
rtl/objpas/fmtbcd.pp

@@ -831,6 +831,8 @@ IMPLEMENTATION
       function GetInstance(const v : TVarData): tObject; OVERRIDE;
     PUBLIC
       procedure BinaryOp(var Left: TVarData; const Right: TVarData; const Operation: TVarOp); override;
+      procedure Clear(var V: TVarData); override;
+      procedure Copy(var Dest: TVarData; const Source: TVarData; const Indirect: Boolean); override;
     end;
 
     TFMTBcdVarData = CLASS(TPersistent)
@@ -3678,6 +3680,21 @@ procedure TFMTBcdFactory.BinaryOp(var Left: TVarData; const Right: TVarData; con
       RaiseInvalidOp;
     end;
   end;
+  
+procedure TFMTBcdFactory.Clear(var V: TVarData);
+  begin
+    FreeAndNil(tObject(V.VPointer));
+    V.VType:=varEmpty;
+  end;
+
+procedure TFMTBcdFactory.Copy(var Dest: TVarData; const Source: TVarData; const Indirect: Boolean);
+  begin
+    if Indirect then
+      Dest.VPointer:=Source.VPointer
+    else
+      Dest.VPointer:=TFMTBcdVarData.Create(TFMTBcdVarData(Source.VPointer).BCD);
+    Dest.VType:=Vartype;
+  end;
 
 {$if declared ( myMinIntBCD ) }
 (*