Ao realizar a leitura de um arquivo OFX do banco santander, está sendo apresentado a mensagem Invalid argument to date enconde.
Verificado que o campo de data do arquivo não está com data e hora, há data e digitos(fator), o que gera o erro, pois tem uma função isUTC que faz um validação data ou fator.
Realizei uma alteração verificando o tomanho da texto do campo, entrando ou não na função e deu certo.
Estou anexando a modifição realizada para verificação.
function IsUTC(const LLine: string; var LFuso: Extended): Boolean;
var
LInicio, LFim: integer;
LTime: String;
begin
Result := Pos('GMT', LLine) > 0;
if Result then
begin
LInicio := Pos('[', LLine);
LFim := Pos(':', LLine);
LFuso := StrToFloat(Copy(LLine, LInicio + 1, LFim - LInicio - 1));
if Length(Copy(LLine, 0, LInicio - 1)) > 12 then ---> LINHA ADICIONADA
begin
LTime := Copy(LLine, 7, LInicio - 7);
// Quando for mais que 6 dígitos, indica ser um horário e não um fator.
// Assim, os dígitos 7 e 8 são o dia como em um datetime padrão.
Result := (Length(LTime) <= 6);
end
else
Result := False;
end
else
LFuso := 0;
end;
ACBrOFX.pas