Bom dia,
Acho que há um erro nas funções de conversão tpDependenteToStr e StrToTpDependente da unit pcnConversaoReinf.
O elemento "8" não existe no tipo TtpDependente:
TtpDependente = (
ttdConjuge, // 1 - Cônjuge
ttdUniaoEstavel, // 2 - Companheiro(a) com o(a) qual tenha filho ou viva há mais de 5 (cinco) anos ou possua declaração de união estável;
ttdFilhoOuEnteado, // 3 - Filho(a) ou enteado(a);
ttdIrmaoNetoBisneto, // 6 - Irmão(ã), neto(a) ou bisneto(a) sem arrimo dos pais, do(a) qual detenha a guarda judicial do(a) qual detenha a guarda judicial;
ttdPaisAvoBisavo, // 9 - Pais, avós e bisavós;
ttdMenorComGuarda, // 10 - Menor pobre do qual detenha a guarda judicial;
ttdIncapaz, // 11 - A pessoa absolutamente incapaz, da qual seja tutor ou curador;
ttdExConjuge, // 12 - Ex-cônjuge;
ttdAgregadoOutros // 99 - Agregado/Outros
);
O correto seria:
function tpDependenteToStr(const t: TtpDependente): string;
begin
result := EnumeradoToStr2(t, ['1', '2', '3', '6', '9',
'10', '11', '12', '99']);
end;
function StrToTpDependente(var ok: boolean; const s: string): TtpDependente;
begin
result := TtpDependente(StrToEnumerado2(ok , s, ['1', '2', '3', '6', '9',
'10', '11', '12', '99']));
end;