Ir para conteúdo
  • Cadastre-se

dev botao

Uso da unit DelphiZXingQRCode


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 1416 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá.

Estou usando a unit  DelphiZXingQRCode para gerar o QrCode para NFCe. Não tenho o ACBr instalado. Estou encontrando Range Check Error na execução da função TEncoder.ApplyMaskPenaltyRule3.

<code>

    for X := 0 to Width - 1 do
    begin
      if ((X + 6 < Width) and
          (TheArray[Y][X] = 1) and
          (TheArray[Y][X + 1] = 0) and
          (TheArray[Y][X + 2] = 1) and
          (TheArray[Y][X + 3] = 1) and
          (TheArray[Y][X + 4] = 1) and
          (TheArray[Y][X + 5] = 0) and
          (TheArray[Y][X + 6] = 1) and
          (((X + 10 < Width) and
              (TheArray[Y][X + 7] = 0) and
              (TheArray[Y][X + 8] = 0) and
              (TheArray[Y][X + 9] = 0) and
              (TheArray[Y][X + 10] = 0)) or
              ((x - 4 >= 0) and
                  (TheArray[Y][X -  1] = 0) and
                  (TheArray[Y][X -  2] = 0) and
                  (TheArray[Y][X -  3] = 0) and
                  (TheArray[Y][X -  4] = 0)))) then
      begin
        Inc(Penalty, 40);
      end;
      if ((Y + 6 < Height) and
          (TheArray[Y][X] = 1)  and
          (TheArray[Y + 1][X] = 0) and
          (TheArray[Y + 2][X] = 1)  and
          (TheArray[Y + 3][X] = 1)  and
          (TheArray[Y + 4][X] = 1)  and
          (TheArray[Y + 5][X] = 0) and
          (TheArray[Y + 6][X] = 1) and
          (((Y + 10 < Height) and
              (TheArray[Y + 7][X] = 0) and
              (TheArray[Y + 8][X] = 0) and
              (TheArray[Y + 9][X] = 0) and
              (TheArray[Y + 10][X] = 0)) or
              ((Y - 4 >= 0) and
                  (TheArray[Y - 1][X] = 0) and
                  (TheArray[Y - 2][X] = 0) and
                  (TheArray[Y - 3][X] = 0) and
                  (TheArray[Y - 4][X] = 0)))) then
      begin
        Inc(Penalty, 40);
      end;
    end;
</code>

Já tentei desativar usando {$R-}, mais au o erro muda para ACCESS VIOLATION.

Alguem já se deparou com esse erro ?

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Veja aqui mesmo no fórum tu acha o link do svn: https://projetoacbr.com.br/fontes/

se tens o ACBrInstall o erro mencionado é que o path que está informando lá na primeira tab não corresponde com o local onde tu tem os fontes em seu micro

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

Boa tarde Juliomar, achei uma solução aqui. Simplesmente desativei o código da procedure que estava travando, citada no primeiro tópico, deixando o result = 0,  e o processo concluiu e gerou o QRCode de forma correta. Já gastei muito tempo analisando aqueles testes lógicos da procedure e não consegui enter a razão do erro.  Obrigado. Por mim pode fechar o assunto.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1416 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.

The popup will be closed in 10 segundos...