Ir para conteúdo
  • Cadastre-se

dev botao

Trocar em Run-Time OpenSSL ou Capicom


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

Recommended Posts

Olá amigos.

Procurei aqui no forum sobre isso mas não encontrei.

Vi o Tópico do Daniel, mas não tirou a dúvida.: http://www.projetoacbr.com.br/forum/topic/25032-opensslxmlsec-ou-capicom-dependencia-de-bibliotecas-externas/#comment-162480

 Seguinte...

Na minha aplicação, não consigo usar o OpenSSL. Na hora da configuração, passa direto para o capicom.

{$IFDEF ACBrNFeOpenSSL}
   //configura o openssl
{$ELSE} 
   //configura o capicom
{$ENDIF}   

Não alterei nada no ACBr.inc, porque vi que já vem configurado para usar os dois. 

No cabeçalho do demo tem o código.

{$I ACBr.inc}
{.$DEFINE ACBrNFeOpenSSL}

Mesmo assim não configura o openssl, passa direto para o {$ELSE}

Alguém sabe porque isso acontece, tenho que fazer alguma configuração?  

Editado por joaoelson
Link para o comentário
Compartilhar em outros sites

Olá Daniel, como disse no começo, ja vi essa sua postagem.

Deixa eu explicar melhor o que estou tentando fazer.

Não é um erro que está ocorrendo, está tudo configurado perfeitamente, as DLL's copiadas para as pastas específicas e etc.

O que eu não estou conseguindo fazer, é verificar qual Lib estou usando, em run-time. Seja Openssl ou Capicom.

Se eu mudar para OpenSSL (ACBrNFe1.Configuracoes.Geral.SSLLib := libOpenSSL;). O código abaixo não identifica se estou usando openssl, passa direto para o {$ELSE}, ou seja, capicom.

{$IFDEF ACBrNFeOpenSSL}
   //configura o openssl
{$ELSE} 
   //configura o capicom
{$ENDIF}   

No Demo acontece a mesma coisa, por isso perguntei se é preciso programar ou configurar outra coisa.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia !

a primeira situação que deve ser feita é remover essas diretivas!

para saber em qual está usando basta fazer um simples if ou case

  case ACBrNFe.Configuracoes.Geral.SSLLib of
    libNone: ;
    libOpenSSL: ;
    libCapicom: ;
    libCapicomDelphiSoap: ;
  end;

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Bom dia !

a primeira situação que deve ser feita é remover essas diretivas!

para saber em qual está usando basta fazer um simples if ou case

  case ACBrNFe.Configuracoes.Geral.SSLLib of
    libNone: ;
    libOpenSSL: ;
    libCapicom: ;
    libCapicomDelphiSoap: ;
  end;

 

olá Juliomar 

Ja tinha pensando em fazer isso, mas como vi que no demo estava assim, resolvi fazer o mesmo.

Demo

  {$IFDEF ACBrNFeOpenSSL}
         Label2.Top     := 56;
         edtSenha.Top   := 72;
         gbCertificado.Height := 144;
         edtCaminho.Text  := Ini.ReadString( 'Certificado','Caminho' ,'') ;
         edtSenha.Text    := Ini.ReadString( 'Certificado','Senha'   ,'') ;
         ACBrNFe1.Configuracoes.Certificados.ArquivoPFX  := edtCaminho.Text;
         ACBrNFe1.Configuracoes.Certificados.Senha       := edtSenha.Text;
         edtNumSerie.Visible := False;
         Label25.Visible := False;
         sbtnGetCert.Visible := False;
      {$ELSE}
         edtNumSerie.Text := Ini.ReadString( 'Certificado','NumSerie','') ;
         edtSenha.Text    := Ini.ReadString( 'Certificado','Senha'   ,'') ;
         ACBrNFe1.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text;
         edtNumSerie.Text := ACBrNFe1.Configuracoes.Certificados.NumeroSerie;
         Label1.Caption := 'Informe o número de série do certificado'#13+
                           'Disponível no Internet Explorer no menu'#13+
                           'Ferramentas - Opções da Internet - Conteúdo '#13+
                           'Certificados - Exibir - Detalhes - '#13+
                           'Número do certificado';
         Label2.Top     := 136;
         edtSenha.Top   := 152;
         gbCertificado.Height := 184;
         Label2.Visible := True;
         edtSenha.Visible   := True;
         edtCaminho.Visible := False;
         sbtnCaminhoCert.Visible := False;
      {$ENDIF}

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

o IFDEF no Demo não é realmente necessário... e está lá apenas porque ainda não deu tempo de ajustar o Demo corretamente para o Trunk2

  • Curtir 3
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Então.. apliquei mudanças nos demos para que se possa entender e usar essa mudança em runtime entre os tipos de emissão

Favor atualizar o svn e testar!

  • Curtir 2
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.