Hola.
Por el tipo de error sospecho que el tema viene por el lado de configuración regional. Vamos a probar agregando estas líneas a tu código a ver si es eso:
Código Delphi
[-]
var
dsep: Char;
begin
dsep:= DecimalSeparator;
DecimalSeparator:= '.';
CDSDATA.FieldByName('Totaliva').AsFloat:= CDSDATA.FieldByName('total_art').AsInteger *
CDSDATA.FieldByName('PREC_VTA').asinteger *
CDSDATA.FieldByName('tipo_imp').AsFloat / 100; CDSDATA.FieldByName('Totalrenglon').AsFloat:= CDSDATA.FieldByName('PREC_VTA').AsFloat *
CDSDATA.FieldByName('total_art').AsInteger +
CDSDATA.FieldByName('totaliva').AsFloat;
DecimalSeparator:= dsep;
...
end;
Si así continua el error proba asignando el valor
',' a
DecimalSeparator.
Saludos.