* Implemented TFMTBcdFactory.Clear and TFMTBcdFactory.Copy methods.

git-svn-id: trunk@9552 -
This commit is contained in:
yury 2007-12-27 23:44:53 +00:00
parent 79a1b1a485
commit 5f8bd39408

View File

@ -831,6 +831,8 @@ IMPLEMENTATION
function GetInstance(const v : TVarData): tObject; OVERRIDE; function GetInstance(const v : TVarData): tObject; OVERRIDE;
PUBLIC PUBLIC
procedure BinaryOp(var Left: TVarData; const Right: TVarData; const Operation: TVarOp); override; 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; end;
TFMTBcdVarData = CLASS(TPersistent) TFMTBcdVarData = CLASS(TPersistent)
@ -3679,6 +3681,21 @@ procedure TFMTBcdFactory.BinaryOp(var Left: TVarData; const Right: TVarData; con
end; end;
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 ) } {$if declared ( myMinIntBCD ) }
(* (*
{$if sizeof ( integer ) = 2 } {$if sizeof ( integer ) = 2 }