Pues si no es tarde aún para reportar incidencias, partiendo de la versión XE2 genera los siguientes errores:
en GHFVCL:
Código Delphi
[-]
Function ghMasterLink (Const ADataSet :TDataSet) :TMasterDataLink;
Var
I :Integer;
Begin
If ADataSet.DataSource <> Nil Then
With TDataSourceAccess (ADataSet.DataSource) Do
For I := 0 To DataLinks.Count - 1 Do
If (TDataLink (DataLinks [i]) Is TMasterDataLink) And
(TMasterDataLinkAccess (DataLinks [i]).GetDetailDataSet =
ADataSet) Then
Begin
Result := DataLinks [i]; Exit;
End;
Result := Nil;
End;
En GHFRTL:
Código Delphi
[-]
Function ghDecimals (Const Value :Extended) :Integer;
Begin
If Frac (Value) <> 0 Then
With ghDecimal (Value) Do
If Exponent < 18 Then
Result := Integer (StrLen (Digits)) - Exponent Else
Result := 0 Else
Result := 0;
End;
Código Delphi
[-]
Function ghFracDecimal (Const Value :Extended;
Decimals :Integer = MaxInt) :Extended;
Var
Buffer :PANSIChar Absolute Result;
Desc :TFloatRec; Begin
Result := Frac (Value);
If Result = 0 Then
Exit;
If Abs (Value) > 1 Then
Begin
Desc := ghDecimal (Value);
If Desc.Exponent < 18 Then
Begin
If (Decimals < MaxInt) And (Integer (StrLen (Desc.Digits)) - Desc.Exponent <= Decimals) Then
Decimals := MaxInt;
Buffer := PANSIChar (@Desc.Digits) + (Desc.Exponent - 2);
If Desc.Negative Then
Buffer [0] := '-'
Else
Inc (Buffer);
Buffer [Byte (Buffer [0] = '-')] :=
ghANSIChr (FormatSettings.DecimalSeparator);
TextToFloat (Buffer, Result, fvExtended); End;
End;
If Decimals < MaxInt Then
Result := ghRound (Result, Decimals);
End;
Saludos,