-
Total de ítens
29.358 -
Registro em
-
Última visita
-
Days Won
781
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Daniel Simoes postou
-
Você não precisa instalar o Driver para cada usuário... Após instalado, você precisará apenas das DLLs... Essas são as que eu uso, para a Elgin DLLs_SAT_Elgin1_e_2.zip Copie TODAS as DLLs da pasta, conforme o seu modelo, no mesmo diretório do seu .EXE
-
Código de barras saindo colorido no Linux
Daniel Simoes replied to tairo's tópico in Dúvidas Gerais sobre o ACBr
Você removeu a carga de Logotipo... provavelmente seus fontes estão dessincronizados com o SVN -
Isso não parece ter relação com o problema... creio que o seu problema é realmente apontar para DLL errada...
-
Data de Validade do Certificado já expirou: 30/12/1899
Daniel Simoes replied to alexpseletr's tópico in ACBrNFe
Realmente o ACBrOpenSSL (ainda) não é compatível com a séria 1.1 do OpenSSL... Não é possível usar/instalar uma versão da Série 1.0, do OpenSSL ? -
Você deve estar usando as DLLs erradas... Você poderá baixa-las em: http://www.clubeautomacaoelgin.com.br/
-
Item com valor zerado no rateio de desconto do SAT
Daniel Simoes replied to Leonardo_Sysmo's tópico in ACBrSAT
Bom.. em teoria esses equipamentos passam por rigorosos testes de certificação... Veja como está descrito no Manual da Especificação SAT, 2_26_4, pag 78 o que dá a entender que Zero é permitido... -
Olá pessoal, Para quem ainda não conhece, o Lazarus/FPC é uma poderosa IDE e compilador da Linguagem Object Pascal, muito semelhante ao Delphi, e desenvolvido totalmente em Código Aberto... ( Saiba mais em: https://www.lazarus-ide.org/index.php?page=about ) Hoje ocorreu o lançamento da versão 2.0.0 do Lazarus... O anúncio oficial, pode ser lido no fórum do Lazarus: http://forum.lazarus-ide.org/index.php/topic,44161.0.html Essa versão ainda usa o FPC (Free Pascal Compiler), na versão 3.0.4, então não devemos ter mudanças brusca na compilação dos projetos existentes... Você pode baixar o Lazarus 2.0, na página oficial do Projeto: https://www.lazarus-ide.org/ (Observe porém, que o Download sugerido, provavelmente será de um Compilador para Windows 64... O que muitas vezes não é o desejado, para manter a compatibilidade com as diferentes versões de Windows e as DLLs existentes) Portanto, recomendo selecionar a versão 32 Bits, conforme destacado, na imagem abaixo... Se você quer realmente gerar aplicações 64 bits, ainda poderá fazer um Cross-compiling , baixando um instalador complementar em: https://sourceforge.net/projects/lazarus/files/Lazarus Windows 32 bits/Lazarus 2.0.0/ O ACBr tem um ótimo suporte ao Lazarus/FPC, isso porque a maioria dos Consultores do Projeto ACBr, usam Lazarus/FPC como principal IDE para Desenvolvimento, e todos os nosso projetos, como: ACBrMonitorPLUS, e ACBrLib, são desenvolvidos em Lazarus/FPC. Abaixo segue um Screen Shot da minha IDE de trabalho (clique para aumentar) Quer conhecer mais aplicações desenvolvidas em Lazarus ? Veja esse Link: http://wiki.freepascal.org/Lazarus_Application_Gallery
- 9 replies
-
- 15
-
-
Limite Caracteres Informações Complementares DANFE Fortes
Daniel Simoes replied to RobertoSchuster's tópico in ACBrNFe
O ACBr é Open Source... Já tentou debugar essa rotina ? -
Item com valor zerado no rateio de desconto do SAT
Daniel Simoes replied to Leonardo_Sysmo's tópico in ACBrSAT
É um desconto um tanto agressivo... mas realmente parece ser um problema na regra de rateio... Vou solicitar apoio do Fabricante -
Off -Topic: Sugestão de balança com interface
Daniel Simoes replied to marcio-carneiro's tópico in ACBrSerial
Ou seja, você deve querer ligar a Balança ao PC, e ler o peso diretamente na sua aplicação, correto ? Se SIM, essa balança, em conjunto com o componente ACBrBAL, atenderia a sua necessidade https://www.automacaototal.com.br/balancas/balanca-computadora-dp-15 -
Será que não haveria uma maneira mais assertiva, de separarmos as duas vias ? Se eles mudarem o Texto, o código irá quebrar... Não há algum outro campo, que possamos usar ? Como por exemplo, o número de linhas na 1a via...
-
Realmente o novo design de classes em 2 Units não ficou bom... a própria IDE fica um pouco perdida, com alguns tipos declarados na Unit ACBrPosPrinterClass Fiz a reversão dessas modificações, e apliquei alguns novos ajustes
-
Rode novamente o ACBrInstall
-
Cannot open include file "ACBr.inc"
Daniel Simoes replied to Carlos Hendrik Oliveira's tópico in Dúvidas Gerais sobre o ACBr
O SVN deixa tudo no lugar correto... minha suspeita é que você tem alterações do seu lado... experimente baixar tudo em outra pasta e instalar -
Cannot open include file "ACBr.inc"
Daniel Simoes replied to Carlos Hendrik Oliveira's tópico in Dúvidas Gerais sobre o ACBr
Verifique se esse arquivo está na ACBrComum -
Olá pessoal, Introduzi no componente ACBrPosPrinter, um novo mecanismo de acesso a Impressora Agora poderemos acessar algumas impressoras, usando a Sintaxe: ACBrPosPrinter1.Porta := 'DLL:MARCA'; Onde MARCA, será o nome da Marca do Fabricante da Impressora... Até o momento, temos suporte para as marcas "ELGIN", e "EPSON" A ideia por traz dessa nova sintaxe de Porta, é permitir usar a DLL/SO do Fabricante, para Imprimir diretamente na Impressora... Ok.. o ACBrPosPrinter, já conseguia acessar impressoras Não Fiscais, pela Porta USB, usando a Sintaxe "RAW:" ACBrPosPrinter1.Porta := 'RAW:Nome da Impressora no Windows'; Mas então porque desenvolvemos essa nova forma de acesso ? A nova sintaxe "DLL:", tem algumas vantagens, em relação a sintaxe "RAW:" Não depende da instalação do Driver de Spool da Impressora.. (note porém, que em alguns casos, o Driver de Spool não pode estar instalado, pois ele bloqueia o acesso a USB) Podemos Ler Informações da Impressora (o que não é possível no modo RAW) Entretanto, como foi dito antes, dependemos de DLL exclusiva do fabricante, para o acesso a Impressora pela USB... Quais são essas DLLs ? Para onde eu devo copiá-las ? Vejamos como foi descrito no ACBrSerial-change-Log.txt Creio que isso responde as duas perguntas, correto ? Você pode encontrar as DLLs no nosso SVN, na pasta: \ACBr\DLLs\PosPrinter, ou ainda pela Web: http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/PosPrinter/ Você pode ainda baixar uma versão do Demo PosPrinterTeste, atualizada, compilado em Lazarus/FPC no link abaixo: Como funciona essa nova técnica ? Quem faz todo acesso as Portas suportadas pelo ACBr, é um subcomponente chamado ACBrDevice, e há um bom tempo, esse componente já possui uma possibilidade de Integração por Hooks O que é Hook ? https://pt.wikipedia.org/wiki/Hooking A ideia por trás dos Hooks, é instalar ganchos, em eventos, que nos permitam interceptar algumas ações e chamadas... Veja esse trecho de código FDevice.HookAtivar := PosPrinterHookAtivar; FDevice.HookDesativar := PosPrinterHookDesativar; FDevice.HookEnviaString := PosPrinterHookEnviaString; FDevice.HookLeString := PosPrinterHookLeString; Aqui instruímos o subcomponente ACBrDevice, a chamar nossos eventos, quando ele precisar "Ativar", "Desativar" uma porta e também quando ele for "EnviarString" e "LeString", de uma determinada porta... Então no interior do componente ACBrPosPrinter, implementamos os eventos indicados acima (PosPrinterHookAtivar, PosPrinterHookDesativar, etc) ... Com isso, o ACBrDevice executará um código nosso, ao invés do que ele normalmente executaria... Veja que dentro dos eventos de ativação e desativação usamos uma Classe de Hook (leia mais abaixo) procedure TACBrPosPrinter.PosPrinterHookAtivar(const APort: String; Params: String); begin if Assigned(FHook) then FHook.Open(APort); end; procedure TACBrPosPrinter.PosPrinterHookDesativar(const APort: String); begin if Assigned(FHook) then FHook.Close; end; FHook por sua vez, é uma variável interna ao ACBrPosPrinter, que contem uma Classe de Hook (TACBrPosPrinterHook), e implementa os comandos necessários, para transmitir essas ações, a DLL do fabricante... Veja o exemplo abaixo, como fica a implementação dos Hooks de Ativar e Desativar, da ELGIN... observe que chamamos métodos Externos, da DLL da Elgin, como: "PrtPortOpenW" e "PrtPortClose" procedure TElginUSBPrinter.Open(const APort: String); var errorNo: Integer; begin if Connected then Exit; inherited Open(APort); try errorNo := xPrtPortOpenW(FPrinter, WideString(fpPort)); // <------- A Q U I ------- if (errorNo <> E_SUCCESS) then raise Exception.CreateFmt(CERROR_OPEN, [fpPort, fpPrinterName]); except fpConnected := False; fpPort := ''; raise; end; end; procedure TElginUSBPrinter.Close; var errorNo: Integer; begin if not Connected then Exit; errorNo := xPrtPortClose(FPrinter); // <------- A Q U I ------- if (errorNo <> E_SUCCESS) then raise Exception.CreateFmt(CERROR_CLOSE, [fpPort, fpPrinterName]); inherited Close; end; Com isso, conseguimos usar a DLL do Fabricante, para estabelecer um túnel entre o ACBrPosPrinter e o equipamento... Como posso implementar um Hook para um novo modelo ? Os Primeiros passos, são verificar: Se o Fabricante disponibiliza uma DLL para acesso direto ao equipamento (sem depender do Spooler) Se há nessa DLL, um método que nos permita Escrever e Ler Dados da Porta USB Ou seja, não precisamos de métodos de alto nível, que façam a formatação de caracteres, ou manipulem a impressora... Pois continua sendo o ACBrPosPrinter, quem montará toda a Sintaxe de comandos a serem enviados para a Impressora, usando a linguagem Esc/Pos... e igualmente, será o ACBrPosPrinter que fará a leitura de respostas, quando for necessário... Na DLL da Elgin, temos um ótimo exemplo de método para isso... function PrtDirectIO(printer:Pointer; // Ponteiro com a Impressora instanciada por PrtPrinterCreatorW writeData:PByte; // Buffer com dados a serem enviados writeNum:integer; // Número de Bytes em "writeData" (tamanho do Buffer) readData:PByte; // Ponteiro com o Retorno a ser Lido (Buffer de saída) readNum:integer; // Numero de bytes disponíveis para escrita em "readData" (tamanho disponível no Buffer de Saída) preadedNum:PInteger // Número de bytes realmente escritos em "readData" ): Integer; cdecl; // Status de retorno E_SUCCESS = 0; Tendo isso em mãos, podemos criar uma cópia de uma das Units já existentes, como por exemplo a Unit ACBrEscPosHookElginDLL.pas, e implementar o suporte usando a nova DLL, e efetuar os ajustes referente a nova Marca
- 1 reply
-
- 14
-
-
-
- acbrposprinter
- usb
-
(e 3 mais)
Tags:
-
Fim do Integrador Fiscal de CE ?
Daniel Simoes replied to Daniel Simoes's tópico in Notícias do ACBr
Recebi do @André Ferreira de Moraes, esse link com um artigo muito interessante, sobre o esse assunto... https://www.focus.jor.br/economia/sefaz-impos-uma-pitomba-amarga-desnecessaria-e-ineficiente/ -
Not sure if I made myself clear.... so, in other words... There is no relation between with your current problem and your ACBr SAC signature status
-
-
ACBrMonitorPLUS is a OpenSource application... There is no limitation for use, or blocking routine for no payment signature inside ACBrMonitorPLUS source code... You may be confusing the ACBr SAC payment... Please Read this (in Portuguese) https://www.projetoacbr.com.br/forum/sac/sobre/ Please tell us what is the exactly issue, you are facing... And attach de ACBrMonitorPLUS log file
-
-
Como definir NFE.ImprimirDanfe, para imprimir NFE ou NFC-e
Daniel Simoes replied to jcdatrindade's tópico in ACBrMonitor PLUS
parece realmente ser um Bug... a Classe está retendo valores dos comandos anteriores... Obrigado pelo Bug Report... @José M. S. Junior, pode adicionar essa caso à sua lista ? -
Erro Instalacao Acbr Delphi 2010
Daniel Simoes replied to carlos's tópico in Dúvidas Gerais sobre o ACBr
Que estranho... a sua opção parecia estar corretamente selecionada... O Instalador estava rodando com privilégios de Administrador ?
