Fiz os testes aqui, inclusive usando as novas dlls da bematech e também as contidas no fonte do ACBr.
O método PafMF_GerarCAT52() gera os arquivos mas gera no path contido inicialmente no INI e não no path que indiquei.
Fazendo o mesmo bloco do método consegui gerar os arquivos corretamente na pasta indicada, porém leva muito mais tempo para gerar.
DataArq := dtInicial.Date;
DirArq := Trim(edtDiretorio.Text);
repeat
NomeArq := IncludeTrailingPathDelimiter(DirArq) + NomeArqCAT52(ECF.RFDID, ECF.NumSerie, DataArq);
ArquivoMFD_DLL(DataArq, DataArq, NomeArq, [docTodos], finNFPTDM);
DataArq := IncDay(DataArq, 1);
until DataArq > dtFinal.Date;
O que percebi é que fazendo dessa forma ele cria o arquivo lendo a memória para cada dia em questão, diferente do método direto do ACBrECF - PafMF_GerarCAT52() que cria o arquivo MFD uma unica vez (contendo todo o período) para depois extrair as informações diárias.
Pergunta:
O que acontece? Porque esse problema de gerar no path errado?
Para os que já utilizam com Bematech, poderia dizer se está funcionando corretamente?