Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    26.199
  • Registro em

  • Última visita

  • Days Won

    749

Posts postados por Daniel Simoes

  1. ok.. o endereço não tem a tendência de mudar.. então não vejo muito risco, você deixar ele "hardcoded", observe ainda que há endereços diferentes para Produção e Homologação, então se for deixar nos fontes, melhor fazer isso em "runtime"

  2. Humm.. havia algo informado nas propriedades do componente ?

    Se estiver preenchido, ele realmente usa essa informação, omitindo a pergunta, mas o padrão é essa propriedade ficar vazia...

  3. Implementei no Demo do ACBrAbecsPinpad o seguinte Botão, para detectar o Pinpad

    procedure TfrMain.btDetectPinPadClick(Sender: TObject);
    var
      sl: TStringList;
      PortFound: String;
      i: Integer;
    begin
      sl := TStringList.Create;
      try
        ACBrAbecsPinPad1.Device.AcharPortasSeriais( sl );
        i := 0;
        PortFound := '';
        while (i < sl.Count) and (PortFound = '') do
        begin
          try
            ACBrAbecsPinPad1.Disable;
            ACBrAbecsPinPad1.Port := sl[i];
            ACBrAbecsPinPad1.Enable;
            try
              ACBrAbecsPinPad1.OPN;
              ACBrAbecsPinPad1.CLO;
              PortFound := ACBrAbecsPinPad1.Port;
            finally
              ACBrAbecsPinPad1.Disable;
            end;
          except
          end;
          Inc(i);
        end;
    
        if (PortFound <> '') then
          ShowMessage('PinPad Found on '+PortFound)
        else
          ShowMessage('PinPad not Found');
      finally
        sl.Free;
      end;
    end; 

     

  4. Sabemos que uma aplicação 32 bits, deve apenas carregar DLLs de 32 bits (mesmo que o Sistema Operacional, seja de 64 bits)

    Já se você compila sua aplicação em 64 bits, deverá sempre utilizar DLLs de 64 bits.

    Porém, infelizmente algumas DLLs possuem o mesmo nome, mesmo tendo arquiteturas diferentes, e isso pode levar o desenvolvedor a ficar confuso, na hora de saber qual é a DLL com a arquitetura correta.

    É o caso da PGWebLib.dll, a versão 32 e 64 tem o mesmo nome de arquivo em disco...

    Esse artigo lhe dá algumas dicas de como descobrir qual é a DLL correta a ser carregada, conforme a compilação do seu Binário

     

    1 - Através das váriáveis de ambiente da PGWebLib 4.1.25.x ou superior

    A partir da versão 4.1.25.x, a PGWebLib ganhou uma proteção de segurança e após a execução do instalador do Client Windows, você poderá encontrar as DLLs nas variáveis de ambiente:
    PathPGWebLib e PathPGWebLib_x64

    PathPGWebLib=C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll
    PathPGWebLib_x64=C:\Program Files (x86)\PayGo\PGWebLib\x64\PGWebLib.dll

    Saiba mais sobre a nova DLL PGWebLib, Segura, no tópico abaixo:

     

     

    2 - Inspecionando o arquivo em Disco

    Isso é um pouco mais difícil.. você precisa abrir o binário da DLL e examinar o conteúdo dele...

    Nesse exemplo usamos o programa NotePad++ com o PlugIn HEX-Editor

    image.png

     

    64 Bits

    image.png

     

    32 Bits

    image.png

    Fonte: https://superuser.com/questions/358434/how-to-check-if-a-binary-is-32-or-64-bit-on-windows

     

  5. 2 horas atrás, marcelobd disse:

    uma sugestão é falar com a Paygo para eles tornarem Public dentro da PGWebLib o método que fecha a serial 
    (não querendo ser leviano, mas acho que isso deve ser barbada pra eles....)

    Eu creio que o PW_End que existe na nova DLL já faz isso... (veja o código que postei acima)

    • Curtir 1
×
×
  • 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.