Quando o CNPJ possui mais de uma página de itens de 'CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS' (exemplo CNPJ = 08.251.929/0001-03), só trás a primeira página desses itens, desconsiderando assim as outras páginas, (nesse caso as outras 5 páginas).
Verifiquei que no arquivo ACBrConsultaCNPJ.pas, na linha 296, o arquivo cria uma TStringList com os valores da seguinte forma (peguei no git o arquivo https://github.com/frones/ACBr/blob/master/Fontes/ACBrTCP/ACBrConsultaCNPJ.pas):
FCNAE2.Clear;
StrAux := LerCampo(Resposta,ACBrStr('CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS'));
FCNAE2.Add(ACBrUtil.RemoverEspacosDuplos(StrAux));
repeat
StrAux := LerCampo(Resposta, StrAux);
if StrAux <> '' then
FCNAE2.Add(ACBrUtil.RemoverEspacosDuplos(StrAux));
until StrAux = '';
Ou seja, quando encontra um campo em branco após terminar os itens da primeira página, o mesmo interrompe a execução da busca e desconsidera o restante.
Para corrigir o problema, deverá ser utilizado um outro loop de REPEAT(código abaixo), para quando encontrar um campo em branco, percorra novamente para ver se encontra outra descrição 'CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS', com isso encontrando as outras páginas e não deixando nenhum item sem ser adicionado a variável FCNAE2.
FCNAE2.Clear;
StrAux := LerCampo(Resposta,ACBrStr('CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS'));
repeat
FCNAE2.Add(ACBrUtil.RemoverEspacosDuplos(StrAux));
repeat
StrAux := LerCampo(Resposta, StrAux);
if StrAux <> '' then
FCNAE2.Add(ACBrUtil.RemoverEspacosDuplos(StrAux));
until StrAux = '';
StrAux := LerCampo(Resposta,ACBrStr('CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS'));
until StrAux = '';
Não sei como proceder para vcs corrigirem esse problema e com isso abri esse tópico no fórum.
Aguardo resposta de vocês.