* More delphi compilability changes

git-svn-id: trunk@6615 -
This commit is contained in:
michael 2007-02-23 12:51:46 +00:00
parent 1002074435
commit b5d1cadd09
3 changed files with 34 additions and 2 deletions

View File

@ -1848,8 +1848,12 @@ uses dbconst,typinfo, fmtbcd;
{ --------------------------------------------------------------------- { ---------------------------------------------------------------------
Auxiliary functions Auxiliary functions
---------------------------------------------------------------------} ---------------------------------------------------------------------}
{$ifndef fpc}
Function VarIsClear(const V: Variant): Boolean;
begin
Result:=VarIsEmpty(V);
end;
{$endif}
Procedure DatabaseError (Const Msg : String); Procedure DatabaseError (Const Msg : String);

View File

@ -513,7 +513,11 @@ begin
If IsNull then If IsNull then
Result:=0 Result:=0
else else
{$ifdef fpc}
Result:=FValue; Result:=FValue;
{$else}
Result:=Integer(FValue);
{$endif}
end; end;
@ -609,7 +613,11 @@ end;
Procedure TParam.SetAsLargeInt(AValue: LargeInt); Procedure TParam.SetAsLargeInt(AValue: LargeInt);
begin begin
{$ifdef fpc}
FValue:=AValue; FValue:=AValue;
{$else}
FValue:=integer(AValue);
{$endif}
FDataType:=ftLargeint; FDataType:=ftLargeint;
end; end;
@ -646,19 +654,27 @@ begin
case VarType(Value) of case VarType(Value) of
varBoolean : FDataType:=ftBoolean; varBoolean : FDataType:=ftBoolean;
varSmallint, varSmallint,
{$ifdef fpc}
varShortInt, varShortInt,
{$endif}
varByte : FDataType:=ftSmallInt; varByte : FDataType:=ftSmallInt;
{$ifdef fpc}
varWord, varWord,
{$endif}
varInteger : FDataType:=ftInteger; varInteger : FDataType:=ftInteger;
varCurrency : FDataType:=ftCurrency; varCurrency : FDataType:=ftCurrency;
{$ifdef fpc}
varLongWord, varLongWord,
{$endif}
varSingle, varSingle,
varDouble : FDataType:=ftFloat; varDouble : FDataType:=ftFloat;
varDate : FDataType:=ftDateTime; varDate : FDataType:=ftDateTime;
varString, varString,
varOleStr : if (FDataType<>ftFixedChar) then varOleStr : if (FDataType<>ftFixedChar) then
FDataType:=ftString; FDataType:=ftString;
{$ifdef fpc}
varInt64 : FDataType:=ftLargeInt; varInt64 : FDataType:=ftLargeInt;
{$endif}
else else
FDataType:=ftUnknown; FDataType:=ftUnknown;
end; end;

View File

@ -336,7 +336,11 @@ begin
vtWideString: vtWideString:
AsString := WideString(VWideString); AsString := WideString(VWideString);
vtInt64: vtInt64:
{$ifdef fpc}
Self.Value := VInt64^; Self.Value := VInt64^;
{$else}
Self.Value := Integer(VInt64^);// Definitely wrong result !! MVC.
{$endif}
else else
Error; Error;
end; end;
@ -1309,7 +1313,11 @@ Var L : Largeint;
begin begin
If GetValue(L) then If GetValue(L) then
{$ifdef fpc}
Result:=L Result:=L
{$else}
Result:=Integer(L); // Wrong result MVC.
{$endif}
else else
Result:=Null; Result:=Null;
end; end;
@ -1408,7 +1416,11 @@ end;
procedure TLargeintField.SetVarValue(const AValue: Variant); procedure TLargeintField.SetVarValue(const AValue: Variant);
begin begin
{$ifdef fpc}
SetAsLargeint(AValue); SetAsLargeint(AValue);
{$else}
SetAsLargeint(Integer(AValue));
{$endif}
end; end;
Function TLargeintField.CheckRange(AValue : largeint) : Boolean; Function TLargeintField.CheckRange(AValue : largeint) : Boolean;