Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

A partir da versão 1803 do Windows, ao acessar a rotina CryptUIDlgSelectCertificateFromStore na unit ACBrDFeWinCrypt dá um access violation para abertura da seleção do certificado.

Alguem mais com este problema?

Alguma possível solução?

 

 

att,

Rodrigo

  • 4 semanas depois ...
  • Membros Pro
Postado

Estava com o mesmo Problema, resolvi assim, 

usando o código do Demo:

========================

VAR
  I: Integer;
  ASerie: STRING;
  AddRow: Boolean;
BEGIN

    frSelecionarCertificado := TfrSelecionarCertificado.Create(Self);
    TRY
      DmNFe.ACBrNFe.SSL.LerCertificadosStore;
      AddRow := False;

      WITH frSelecionarCertificado.StringGrid1 DO
      BEGIN
        ColWidths[0] := 220;
        ColWidths[1] := 250;
        ColWidths[2] := 120;
        ColWidths[3] := 80;
        ColWidths[4] := 130;
        Cells[0, 0] := 'Num.Série';
        Cells[1, 0] := 'Razão Social';
        Cells[2, 0] := 'CNPJ';
        Cells[3, 0] := 'Validade';
        Cells[4, 0] := 'Certificadora';
      END;

      FOR I := 0 TO DmNFe.ACBrNFe.SSL.ListaCertificados.Count - 1 DO
      BEGIN
        WITH DmNFe.ACBrNFe.SSL.ListaCertificados DO
        BEGIN
          ASerie := NumeroSerie;
          IF (CNPJ <> '') THEN
          BEGIN
            WITH frSelecionarCertificado.StringGrid1 DO
            BEGIN
              IF Addrow THEN
                RowCount := RowCount + 1;

              Cells[0, RowCount - 1] := NumeroSerie;
              Cells[1, RowCount - 1] := RazaoSocial;
              Cells[2, RowCount - 1] := CNPJ;
              Cells[3, RowCount - 1] := FormatDateTime('dd/mm/yyyy', DataVenc);
              Cells[4, RowCount - 1] := Certificadora;
              AddRow := True;
            END;
          END;
        END;
      END;

      frSelecionarCertificado.ShowModal;

      IF frSelecionarCertificado.ModalResult = mrOK THEN
        Result := frSelecionarCertificado.StringGrid1.Cells[0, frSelecionarCertificado.StringGrid1.Row];

    FINALLY
      frSelecionarCertificado.Free;
    END;

================

 

  • Este tópico foi criado há 2331 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.