NÃO ESTOU CARREGANDO NENHUMA DLL PELO SISTEMA. SERÁ QUE PODE SER AS CHAVE PRIVADA/PUBLICA
ESTOU SOMENTE COM ESSE PROBLEMA NA AQUI NA POLING.
OBRIGADO
na procedure abaixo, passei na chave 6 letras, será q tem que ser 4.
procedure TfsH.ACBrAAC1GetChave(var Chave: String); <- AQUI EU PASSEI UMA CHAVE COM 6 LETRAS.
no O eECFc está validando beleza a chave
DEIXA EU TE PASSA O MEU CÓDIGO:
function TfPrincipal.GeraMD5: string;
var
Arquivo : TextFile;
NomeArq, ArqTexto, aMD5: string;
F : TSearchRec;
Ret : Integer;
begin
Result := '';
try
// Apaga arquivo anterior
ArqTexto := 'Listamd5.txt';
if FileExists(ArqTexto) then
DeleteFile(ArqTexto);
// cria o arquivo TXT na mesma pasta do sistema
AssignFile(Arquivo, ArqTexto);
ReWrite(Arquivo);
// lista todos os arquivo exe da pasta do aplicativo e gera o MF5
Ret := FindFirst(ExtractFilePath(Application.ExeName)+'\*.exe', faAnyFile, F);
try
while Ret=0 do
begin
if F.Attr and faDirectory<>faDirectory then
begin
NomeArq := ExtractFilePath(Application.ExeName)+F.Name;
aMD5 := MD5Print(MD5File(NomeArq));
WriteLn(Arquivo, NomeArq+' - '+aMD5);
end;
Ret := FindNext(F);
end; //verificar com homologador
Ret := FindFirst(ExtractFilePath(Application.ExeName)+'\*.dll', faAnyFile, F);
while Ret=0 do
begin
if F.Attr and faDirectory<>faDirectory then
begin
if (UpperCase(F.Name)= uppercase('DarumaFrameWork.dll')) or
(UpperCase(F.Name)= uppercase('LeituraMFDBin.dll')) or
(UpperCase(F.Name)= uppercase('lebin.dll')) or
(UpperCase(F.Name)= uppercase('BemaFI32.dll')) or
(UpperCase(F.Name)= uppercase('Bematech.dll')) or
(UpperCase(F.Name)= uppercase('BemaMFD2.dll')) or
(UpperCase(F.Name)= uppercase('BemaMFD.dll')) or
(UpperCase(F.Name)= uppercase('elgin.dll')) or
(UpperCase(F.Name)= uppercase('InterfaceEpson.dll')) or
(UpperCase(F.Name)= uppercase('CONVECF.dll')) or
(UpperCase(F.Name)= uppercase('DLLG2.dll')) or
(UpperCase(F.Name)= uppercase('sign_bema.dll')) or
(UpperCase(F.Name)= uppercase('MSJET35.dll')) then
begin
NomeArq := ExtractFilePath(Application.ExeName)+F.Name;
aMD5 := MD5Print(MD5File(NomeArq));
WriteLn(Arquivo, NomeArq+' - '+aMD5);
end;
end;
Ret := FindNext(F);
end;
finally
FindClose(F);
end;
Closefile(Arquivo);
// gera MD5 do arquivo texto
finally
cMD5txt := MD5Print(MD5File(ArqTexto));
end;
end;
procedure TfPrincipal.ChamaMD5;
var
F : TSearchRec;
Ret : Integer;
begin
GeraMD5;
with fsH.ACBrAAC1.IdentPAF.OutrosArquivos.New do
begin
Nome := 'c:\infobrasil\infopdv\exec\infopdv.exe';
MD5 := MD5Print(MD5File(Nome));
end;
Ret := FindFirst(ExtractFilePath(Application.ExeName)+'\*.dll', faAnyFile, F);
while Ret=0 do
begin
if F.Attr and faDirectory<>faDirectory then
begin
if (UpperCase(F.Name)= uppercase('lebin.dll')) or
(UpperCase(F.Name)= uppercase('LeituraMFDBin.dll')) or
(UpperCase(F.Name)= uppercase('DarumaFrameWork.dll')) or
(UpperCase(F.Name)= uppercase('BemaFI32.dll')) or
(UpperCase(F.Name)= uppercase('Bematech.dll')) or
(UpperCase(F.Name)= uppercase('BemaMFD2.dll')) or
(UpperCase(F.Name)= uppercase('BemaMFD.dll')) or
(UpperCase(F.Name)= uppercase('elgin.dll')) or
(UpperCase(F.Name)= uppercase('InterfaceEpson.dll')) or
(UpperCase(F.Name)= uppercase('CONVECF.dll')) or
(UpperCase(F.Name)= uppercase('DLLG2.dll')) or
(UpperCase(F.Name)= uppercase('sign_bema.dll')) or
(UpperCase(F.Name)= uppercase('MSJET35.dll')) then
begin
with fsH.ACBrAAC1.IdentPAF.OutrosArquivos.New do
begin
Nome := ExtractFilePath(Application.ExeName)+F.Name;
end;
end;
end;
Ret := FindNext(F);
end;
with fsH.ACBrPAF1.PAF_N do
begin
RegistroN1.RAZAOSOCIAL := fsH.ACBrAAC1.IdentPAF.Empresa.RazaoSocial;
RegistroN1.UF := fsH.ACBrAAC1.IdentPAF.Empresa.Uf;
RegistroN1.CNPJ := fsH.ACBrAAC1.IdentPAF.Empresa.CNPJ;
RegistroN1.IE := fsH.ACBrAAC1.IdentPAF.Empresa.IE;
RegistroN1.IM := fsH.ACBrAAC1.IdentPAF.Empresa.IM;
RegistroN2.NOME := fsH.ACBrAAC1.IdentPAF.Paf.Nome;
RegistroN2.VERSAO := fsH.ACBrAAC1.IdentPAF.Paf.Versao;
RegistroN2.LAUDO := fsH.ACBrAAC1.IdentPAF.NumeroLaudo;
end;
with fsH.ACBrAAC1.IdentPAF.ArquivoListaAutenticados do
begin
Nome := 'ListaMD5.txt';
MD5 := fsH.ACBrEAD1.MD5FromFile('c:\infobrasil\infopdv\exec\listamd5.txt');
end;
fsH.ACBrPAF1.Path :='C:\INFOBRASIL\INFOPDV\EXEC\';
fsH.ACBrPAF1.SaveFileTXT_N('PAF_LISTAMD5.TXT');
fsH.ACBrAAC1.SalvarArquivo;