Ver Mensaje Individual
  #11  
Antiguo 31-03-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Aunque también se ha de tener ciertos cuidados si resulta ser que el problema estuviera en todas las funciones sobrecargadas que listé antes.

Si uno escribe en la propiedad AsCurrency tiene lugar esto:

Código Delphi [-]
procedure TFMTBCDField.SetAsCurrency(Value: Currency);
var
  VMax, VMin: Variant;
  FValue: TBcd;
begin
  CurrToBcd(Value, FValue, MaxBcdPrecision, MaxBcdScale);
  if FCheckRange then
  begin
    VMax := VarFMTBcdCreate(FMaxValue, Self.Precision, Self.Size);
    VMin := VarFMTBcdCreate(FMinValue, Self.Precision, Self.Size);
    if (Value < VMin) or (Value > VMax) then
      BcdRangeError(Value, VMin, VMax);
  end;
  SetData(@FValue, False);
end;

Como se ve, si para el el campo se ha definido un rango se va a intentar comparar el valor contra el máximo y mínimo variant TBCD. Si esta versión sobrecargada sufre del mismo problema se nos viene abajo todo.

Al, Ya me hiciste poner en true mi propiedad ModeParanoid.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita