Delphi - escolher certificado digital - early binding
Para acessar a DLL com early binding em Delphi é necessário criar a unit NFe_Util_2G_TLB.pas para integração com a DLL através do processo de import Type Library da DLL NFe_Util_2G.dll no Delphi:
•Abra um novo projeto;
•selecione a opção Import Type Library do menu Project;
•na janela Import Type Library, clique no botão Add;
•procure o arquivo NFe_2G_Util.tlb que existe na mesma pasta onde a DLL foi registrada;
•clique no botão Create Unit;
Este processo cria a unit NFe_Util_2G_TLB.pas necessária para fazer a interface com a DLL.
Exemplo para escolher um certificado digital em Delphi com early binding
para ter mais detalhes acesse http://www.flexdocs.com.br/guiaNFe/uso.html
//
//
// Exemplo para escolher um certificado digital
//
//
//
uses
(...), NFe_Util_2G_TLB, ComCtrls, ComObj; // acrescentar a NFe_Util_2G_TLB, ComCtrls e ComObj no use da unit
var
Util:NFe_Util_2G_Interface; // declarar a interface da DLL
i:integer;
nome, mensagem: Widestring; // todas as strings que serão utilizadas como parâmetro devem ser widestring
begin
Util := NFe_Util_2G_TLB.CoUtil.Create; // instancia DLL
//
// inicializa variáveis
//
nome := ''; // se nome não for informado, a DLL irá abrir uma caixa de diálogo
// para escolha do certificado digital.
mensagem := '';
//
// obtem o nomeCertificado (Assunto) do certificado
//
i:= Util.PegaNomeCertificado(nome, mensagem);
if i = 5401 then
MessageDlg( 'Certificado selecionado:'#13+#13+nome, mtInformation, [mbOk], 0)
else
MessageDlg( 'O Certificado:'#13+#13+nome+#13+#13+'não foi localizado no repositório de certificados!', mtInformation, [mbOk], 0);
//
// o nomeCertificado é o campo Assunto do Certificado Digital que identifica o titular
// do certificado digital.
//
// A DLL utiliza este campo Assunto para identificar o certificado digital utilizado nas
// funcionalidades.
//
// Após a obtenção do nomeCertificado, a aplicação deve "guardá-lo" em alguma área de
// configuração da aplicação, vinculando-o com o CNPJ e a chave da licença de uso da
// DLL que serão necessárias na maioria das chamadas da DLL.
//
// libera DLL
//
Util :=nil;
end;
•Abra um novo projeto;
•selecione a opção Import Type Library do menu Project;
•na janela Import Type Library, clique no botão Add;
•procure o arquivo NFe_2G_Util.tlb que existe na mesma pasta onde a DLL foi registrada;
•clique no botão Create Unit;
Este processo cria a unit NFe_Util_2G_TLB.pas necessária para fazer a interface com a DLL.
Exemplo para escolher um certificado digital em Delphi com early binding
para ter mais detalhes acesse http://www.flexdocs.com.br/guiaNFe/uso.html
//
//
// Exemplo para escolher um certificado digital
//
//
//
uses
(...), NFe_Util_2G_TLB, ComCtrls, ComObj; // acrescentar a NFe_Util_2G_TLB, ComCtrls e ComObj no use da unit
var
Util:NFe_Util_2G_Interface; // declarar a interface da DLL
i:integer;
nome, mensagem: Widestring; // todas as strings que serão utilizadas como parâmetro devem ser widestring
begin
Util := NFe_Util_2G_TLB.CoUtil.Create; // instancia DLL
//
// inicializa variáveis
//
nome := ''; // se nome não for informado, a DLL irá abrir uma caixa de diálogo
// para escolha do certificado digital.
mensagem := '';
//
// obtem o nomeCertificado (Assunto) do certificado
//
i:= Util.PegaNomeCertificado(nome, mensagem);
if i = 5401 then
MessageDlg( 'Certificado selecionado:'#13+#13+nome, mtInformation, [mbOk], 0)
else
MessageDlg( 'O Certificado:'#13+#13+nome+#13+#13+'não foi localizado no repositório de certificados!', mtInformation, [mbOk], 0);
//
// o nomeCertificado é o campo Assunto do Certificado Digital que identifica o titular
// do certificado digital.
//
// A DLL utiliza este campo Assunto para identificar o certificado digital utilizado nas
// funcionalidades.
//
// Após a obtenção do nomeCertificado, a aplicação deve "guardá-lo" em alguma área de
// configuração da aplicação, vinculando-o com o CNPJ e a chave da licença de uso da
// DLL que serão necessárias na maioria das chamadas da DLL.
//
// libera DLL
//
Util :=nil;
end;