@Felipe Sachetti, veja o que acha dessa sugestão de correção
function TACBrTEFAPIClassCliSiTef.ObterDadoPinPad(
TipoDado: TACBrTEFAPIDadoPinPad; TimeOut: integer; MinLen: SmallInt;
MaxLen: SmallInt): String;
Var
DadoPortador: String;
Ok: Boolean;
begin
DadoPortador := DadoPinPadToOperacao(TipoDado);
if (DadoPortador = '') then
begin
fpACBrTEFAPI.DoException(Format(ACBrStr(sACBrTEFAPICapturaNaoSuportada),
[GetEnumName(TypeInfo(TACBrTEFAPIDadoPinPad), integer(TipoDado) ), ClassName] ));
end;
if (MinLen = 0) and (MaxLen = 0) then
CalcularTamanhosCampoDadoPinPad(TipoDado, MinLen, MaxLen);
if (TimeOut > 1000) then
TimeOut := trunc(TimeOut/1000); // SiTef espera o tempo em Segundos.. convertendo de milisegundos
fRespostasPorTipo.ValueInfo[2967] := DadoPortador;
fRespostasPorTipo.ValueInfo[2968] := IntToStr(MinLen);
fRespostasPorTipo.ValueInfo[2969] := IntToStr(MaxLen);
fRespostasPorTipo.ValueInfo[2970] := IntToStr(TimeOut);
Ok := ExecutarTransacaoSiTef(CSITEF_OP_DadosPinPadAberto, 0);
if Ok then
Result := fpACBrTEFAPI.UltimaRespostaTEF.LeInformacao(2971,0).AsString;
end;
o valor Default, é utilizado em todas as demais classes de TEF, então não podemos mudar ele...