From b5d1cadd095dfc244c997e0ad8ef09134ca20685 Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 23 Feb 2007 12:51:46 +0000 Subject: [PATCH] * More delphi compilability changes git-svn-id: trunk@6615 - --- fcl/db/db.pp | 8 ++++++-- fcl/db/dsparams.inc | 16 ++++++++++++++++ fcl/db/fields.inc | 12 ++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/fcl/db/db.pp b/fcl/db/db.pp index 91a5c957af..7743c36c0f 100644 --- a/fcl/db/db.pp +++ b/fcl/db/db.pp @@ -1848,8 +1848,12 @@ uses dbconst,typinfo, fmtbcd; { --------------------------------------------------------------------- Auxiliary functions ---------------------------------------------------------------------} - - +{$ifndef fpc} +Function VarIsClear(const V: Variant): Boolean; +begin + Result:=VarIsEmpty(V); +end; +{$endif} Procedure DatabaseError (Const Msg : String); diff --git a/fcl/db/dsparams.inc b/fcl/db/dsparams.inc index 0a78955c31..d4c5464db5 100644 --- a/fcl/db/dsparams.inc +++ b/fcl/db/dsparams.inc @@ -513,7 +513,11 @@ begin If IsNull then Result:=0 else +{$ifdef fpc} Result:=FValue; +{$else} + Result:=Integer(FValue); +{$endif} end; @@ -609,7 +613,11 @@ end; Procedure TParam.SetAsLargeInt(AValue: LargeInt); begin +{$ifdef fpc} FValue:=AValue; +{$else} + FValue:=integer(AValue); +{$endif} FDataType:=ftLargeint; end; @@ -646,19 +654,27 @@ begin case VarType(Value) of varBoolean : FDataType:=ftBoolean; varSmallint, +{$ifdef fpc} varShortInt, +{$endif} varByte : FDataType:=ftSmallInt; +{$ifdef fpc} varWord, +{$endif} varInteger : FDataType:=ftInteger; varCurrency : FDataType:=ftCurrency; +{$ifdef fpc} varLongWord, +{$endif} varSingle, varDouble : FDataType:=ftFloat; varDate : FDataType:=ftDateTime; varString, varOleStr : if (FDataType<>ftFixedChar) then FDataType:=ftString; +{$ifdef fpc} varInt64 : FDataType:=ftLargeInt; +{$endif} else FDataType:=ftUnknown; end; diff --git a/fcl/db/fields.inc b/fcl/db/fields.inc index d7759e7b94..b2aa0d741d 100644 --- a/fcl/db/fields.inc +++ b/fcl/db/fields.inc @@ -336,7 +336,11 @@ begin vtWideString: AsString := WideString(VWideString); vtInt64: +{$ifdef fpc} Self.Value := VInt64^; +{$else} + Self.Value := Integer(VInt64^);// Definitely wrong result !! MVC. +{$endif} else Error; end; @@ -1309,7 +1313,11 @@ Var L : Largeint; begin If GetValue(L) then +{$ifdef fpc} Result:=L +{$else} + Result:=Integer(L); // Wrong result MVC. +{$endif} else Result:=Null; end; @@ -1408,7 +1416,11 @@ end; procedure TLargeintField.SetVarValue(const AValue: Variant); begin +{$ifdef fpc} SetAsLargeint(AValue); +{$else} + SetAsLargeint(Integer(AValue)); +{$endif} end; Function TLargeintField.CheckRange(AValue : largeint) : Boolean;