Boa tarde Eduardo.
Após analisar suas correções cheguei a conclusão de que a seguinte alteração não está correta:
linha 101 - Num := ACarteira + ifthen(ACBrTitulo.Carteira = 'RG','4','1') + PadR(ANossoNumero, 15, '0');
linha 159 - ANossoNumero := '21'+padR(ANossoNumero, 15, '0')
{
Quando informado pelo Cliente/Cedente, o Nosso Número deverá obedecer o seguinte formato:
CCNNNNNNNNNNNNNNN, onde:
CC = 11 (título Registrado emissão CAIXA)
CC = 14 (título Registrado emissão Cedente)
CC = 21 (título Sem Registro emissão CAIXA)
NNNNNNNNNNNNNNN = Número livre do Cliente/Cedente
}
Conforme o trecho inserido por vc, extraído do manual do banco, repara que o '21' se refere a títulos Sem Registro emitidos pela Caixa, então apenas deve ser adotado no caso do banco ser o responsável pela emissão do boleto.
Com relação ao calculo do DV da Conta, qual a necessidade do componente calcular isso? O ideal é que essa informação seja passada a ele.
Att.