Ver Mensaje Individual
  #11  
Antiguo 14-03-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.609
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por gatosoft Ver Mensaje
Código Delphi [-]
  TFloatRec = packed record
    Exponent: Smallint;
    Negative: Boolean;
    Digits: array[0..20] of Byte;
  end;
Para el caso de la función StrLen [...] solo acepta tipos PAnsichar, PWideChar
Sí, claro está. Tenía la ligera sospecha de que habían cambiado la declaración de TFloatRec, pero consideré que era poco probable. Siendo así, creo que faltaría moldear Digits como PANSIChar en el par de referencias antes citadas:
Código Delphi [-]
          Result := Integer (System.ANSIStrings.StrLen (PANSIChar (@Digits))) - Exponent
Código Delphi [-]
        If (Decimals < MaxInt) And (Integer (System.ANSIStrings.StrLen (PANSIChar (@Desc.Digits))) -
        Desc.Exponent <= Decimals) Then

Hasta XE2 (o XE3), TFloatRec tenía esta declaración:
Código Delphi [-]
  TFloatRec = packed record
    Exponent: Smallint;
    Negative: Boolean;
    Digits: array[0..20] of AnsiChar;
  end;

Gracias por confirmar el funcionamiento de los cambios.

Saludos.
Responder Con Cita