Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.935
  • Registro em

  • Última visita

  • Days Won

    127

Tudo que EMBarbosa postou

  1. Olá Ronaldo, Acho que precisamos verificar essa situação com mais cautela. De acordo com a documentação da Microsoft, o ACBrInstall não parece ser compatível com essa flag. Vejas as exigências na documentação: O primeiro ponto (não usar arquivos .ini) já é suficiente para que o ACBrInstall não se enquadre nas aplicações que podem usar de forma segura o flag mencionado.
  2. Eles devem achar que você é usuário do sistema ao invés de desenvolvedor. Sugiro você fazer uma réplica com os dados.
  3. Mas qual é problema? O que eles orientaram?
  4. Se for só um som de beep do sistema, usa o comando beep. https://stackoverflow.com/questions/24457581/lazarus-pascal-beep-command
  5. Se a documentação diz uma coisa e você está vendo outra acontecer, o melhor é entrar em contato com o órgão responsável. Tente o "Fale Conosco" ou outro sistema similar no site deles.
  6. Visto que é uma informação fiscal, acho prudente você questionar ao contador do seu cliente como fazer os cálculos conforme a descrição que você pôs acima.
  7. Nesse caso, vamos remover essa parte do bat.
  8. Pra mim continua com problemas de design. O que você fez foi um FreeAndNil em A; O Create de A tem acesso a B que nem foi criado ainda; B continua podendo gerar Access Violations depois de A ser destruído; Mas se resolveu seu problema...
  9. Olá Antônio, Muito obrigado pelas sugestões. Vou passar as minhas considerações sobre o "apaga bat"... Nós já corrigimos isso há algum tempo modificando para SYNA*.dcu e SYNA*.bpl. Se o seu estava da forma acima, é possível que ele não tenha sido gerado pelo ACBrInstall ou o ACBrInstall está desatualizado. A propósito, não é mais recomendado executar o "apaga bat" diretamente. Atualmente ele é gerado e executado pelo ACBrInstall quando você marca a opção "Apagar arquivos antigos (...)". Essa segunda linha com certeza pode ser perigosa. É muito genérica... Infelizmente, não podemos usar assim. O "apaga bat" é justamente necessário quando precisamos apagar arquivos que estão em outras pastas que não as do ACBr... Por isso ele é executado em todos os outros diretórios.
  10. Bem, isso sempre foi assim... mas se você não sabia, posso entender sua confusão... Esse código me parece incorreto... Você não colocou o "B:= A" e por isso o código vai dar false... Ainda não consegui entender o que você quer fazer, mas não me parece que esse código realmente vai resolver seu problema...
  11. Acho que você não entendeu essa parte ainda. A e B são a mesma instância. São variáveis diferentes apontando pro mesmo objeto, mesmo endereço de referência. Nesse caso B pode continuar apontando para A dependendo das opções do compilador. Veja: type TMyClass = class(TObject) private { private declarations } Fs: string; end; var A, B: TMyClass; begin A := TMyClass.Create; B := A; A.Fs := 'Sou A'; ShowMessage(B.Fs); FreeAndNil(A); A := TMyClass.Create; A.Fs := 'Sou NOVO A'; // Agora A é outro objeto ShowMessage( BoolToStr(A = B, True) ); //True ShowMessage(B.Fs); end. Continuo sem saber o que você quer fazer. Você está explicando qual a implementação quer alcançar e não o objetivo...
  12. Nessa comparação os objetos são os mesmos. Não entendi sua dúvida. A e B são o mesmo objeto no mesmo endereço. O resultado True está correto. Você deu Free no objeto A. Liberou a memória indicando que ela pode ser utilizada por outro objeto. Como o objeto C é instanciado depois da liberação da memória, ele pode usar o mesmo endereço. O resultado vai ser igual. Usar FreeAndNil vai ser a solução mais simples pro seu problema. Mas sinceramente, acho que você está indo num caminho incorreto. Me parece que há violação de princípios de orientação a objetos. Seu código não deveria precisar desse tipo de comparação. O que você está realmente tentando fazer? Que problema você está tentando resolver?
  13. Tenta o IBDataPump.
  14. Olá Arnaldo, O que exatamente você quer saber?
  15. Essa mensagem significa que o arquivo já foi enviado e recebido pela SEF anteriormente. Se isso está acontecendo mesmo com arquivos que você acabou de gerar, o jeito é entrar em contato com eles. No mínimo o servidor está retornando uma mensagem de erro incorreta.
  16. Queira atualizar e testar novamente.
  17. Acho que não consegui reproduzir esse problema aqui. Você consegue @BigWings?
  18. Olá, Teria como você anexar os xmls da mesma nota gerada que passou? Assim podemos comparar o que funciona com o que não funciona e tentar diagnosticar melhor o problema.
  19. Só o pacote ACBr_NFCe_DanfeRL foi removido, não o componente. Então visto que seu projeto já utilizava o outro pacote era só remover a dependência deste pacote mesmo. Não tem porque pedir desculpas. Talvez seu passo a passo ajude a outros.
  20. O certo seria rodar o chkdsk. Acho que você não deveria deixar os componentes dentro duma pasta do "Onedrive". Na verdade quanto menor o path melhor. Por isso é melhor algo como "c:\componentes\ACBr\" ou simplesmente "c:\ACBr" se possível.
  21. Não tem problema Leandro. Agradecemos sua ajuda e disposição desde já. Já foi útil ter apontado o problema, mas se conseguir fazer o ajuste vamos ficar ainda mais gratos. Bom trabalho por aí.
  22. Bom dia Leandro, Infelizmente não podemos enviar a alteração da forma como está. Ela não é compatível nem com o Delphi 7, nem com o Lazarus.
  23. As alterações feitas pelo @izaquesouza foram enviadas ao SVN na revisão 19345. Obrigado @izaquesouza. Como você mesmo notou, outras alterações foram feitas na mesma porção do código, então eu precisei de um pouco mais de tempo para conciliar as alterações e testar. Acredito que agora esteja ok. Mas peço que testem e reportem qualquer problema. Quanto ao seu tópico, vou te responder por lá.
  24. Para o caso do ESC/POS, é preciso carregar no componente o arquivo de evento também. Veja esse outro tópico:
  25. Não sei se entendi o que quis dizer... Você quer dizer enviar na requisição? Se for isso, basta usar o evento onAntesFinalizarRequisicao. Veja no programa exemplo o seguinte código: procedure TForm1.ACBrTEFD1AntesFinalizarRequisicao(Req : TACBrTEFDReq); begin if Req.Header = 'CRT' then Req.GravaInformacao(777,777,'TESTE REDECARD'); Memo1.Lines.Add('Enviando: '+Req.Header+' ID: '+IntToStr( Req.ID ) ); end;
×
×
  • 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...
The popup will be closed in 10 segundos...