Jump to content

dev botao

acbrtefd temos a opção de interceptar uma requisição e slavar no arquivo?


Go to solution Solved by Rafael Dias,
  • Este tópico foi criado há 3004 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

acbrtefd temos a opção de interceptar uma requisição e slavar no arquivo?

digo no acbr delphi tem a opção de gravar.. intercepta ele antes de finaliza a requisição e grava um dado registro qualquer por ex: 500-000 = 1

ai queria saber se no framework tem algo assim? 

Link to comment
Share on other sites

Function TEF_Req_GravaInformacao(const tefHandle : PTEFHandle; const reqHandle : TACBrTEFDReq; Identificacao, Sequencia : Integer; Informacao : pChar): Integer ; {$IFDEF STDCALL} stdcall; {$ENDIF} {$IFDEF CDECL} cdecl; {$ENDIF} export;
begin
   if (tefHandle = nil) then
    begin
       Result := -2;
       Exit;
    end;

   try
      reqHandle.GravaInformacao(Identificacao, Sequencia, Informacao);
      Result := 0;
   except
      on exception : Exception do
      begin
         tefHandle^.UltimoErro := exception.Message;
         Result := -1;
      end
   end;

end;

fiz essa mudança no arquivo ACBrTEFDll.pas

 

 

public void GravaInformacao(int Identificacao, int Sequencia, String Informacao)
	    {
            int ret = ACBrTEFInterop.TEF_Req_GravaInformacao(Handle, ComposedHandle, Identificacao, Sequencia, Informacao);

            CheckResult(ret);
        }

e fiz essa mudança no arquivo Req.cs

 

[DllImport(ACBr, CallingConvention = CallingConvention.Cdecl)]
        public static extern int TEF_Req_GravaInformacao(IntPtr tefHandle, IntPtr reqHandle, int Identificacao, int Sequencia, String Informacao);

e fiz essa muandaça no arquivo ACBrTEFInterop.cs

Arquivos.. anexados

O negocio é , quando compilo para o c# e executo, diz que o método de iterop não existe, ai queria ajuda em saber oque estou fazendo de errado, para estar aprendendo é poder contribuir para o projeto.

obs: gerado a DLL do lazarus antes e depois coloco ela na devida pasta e mando compilar o projeto acbrframework.net 

Obrigado.

 

ACBrTEFDll.pas

ACBrTEFInterop.cs

Req.cs

Edited by RobertoRP
modificação
Link to comment
Share on other sites

  • 3 weeks later...

Tem aqui a não ser que é outro lugar e estou enganado

{Req}
TEF_Req_GetHeader, TEF_Req_SetHeader,
TEF_Req_GetDocumentoVinculado,TEF_Req_SetDocumentoVinculado,
TEF_Req_GetCMC7, TEF_Req_SetCMC7,
TEF_Req_GetDocumentoPessoa, TEF_Req_SetDocumentoPessoa,
TEF_Req_GetRede, TEF_Req_SetRede,
TEF_Req_GetNSU, TEF_Req_SetNSU,
TEF_Req_GetFinalizacao, TEF_Req_SetFinalizacao,
TEF_Req_GetID, TEF_Req_SetID,
TEF_Req_GetMoeda, TEF_Req_SetMoeda,
TEF_Req_GetTipoPessoa, TEF_Req_SetTipoPessoa,
TEF_Req_GetValorTotal, TEF_Req_SetValorTotal,
TEF_Req_GetDataCheque, TEF_Req_SetDataCheque,
TEF_Req_GetDataHoraTransacaoComprovante, TEF_Req_SetDataHoraTransacaoComprovante,
TEF_Req_GravaInformacao, // aqui 

Baixando o arquivo e abrindo no notepad++ a linha é 10713

Edited by RobertoRP
adicionar linha no notepad++
Link to comment
Share on other sites

Grande Rafael, muito obrigado pela ajuda! 

Deu certo aqui =) 

Assim não sei se é muito pedir, mas podia incluir nos fontes? enfim muito obrigado.

 

observação que esqueci de comentar.. os fontes estão uma versão anterior a mais atual, porque a mais atual não quer compilar ela trava na hora de dar new qualquercomponenteacbrframework();

Edited by RobertoRP
versão anterior
Link to comment
Share on other sites

  • Este tópico foi criado há 3004 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.