Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.339
  • Registro em

  • Última visita

  • Days Won

    117

Tudo que EMBarbosa postou

  1. Legal. Que bom que conseguiu resolver. Agradecemos o retorno.
  2. É possível que seu arquivo esteja modificado pelo próprio Delphi. Tente executar um revert no arquivo mencionado.
  3. Em qual linha dá o erro. Qual é a exata mensagem de erro?
  4. Consegue reproduzir esse problema usando o programa de exemplo?
  5. Retornar de onde? O que você já tentou? Qual o impedimento pra prosseguir? Por favor dê uma olhada nesse post sobre como elaborar um tópico pedindo ajuda:
  6. Apenas uma confirmação: Isso resolveu seu problema?
  7. Se estiver como imSemDados o componente não vai gerar os registros, então verifique isso. Talvez seja uma boa reduzir a quantidade de withs aninhados que você utiliza. Sei que o exemplo atual está assim, mas não é um bom padrão pra seguir.
  8. Obrigado pela contribuição. Enviei a correção ao SVN na revisão 16513. Queira por favor atualizar, testar e reportar qualquer problema.
  9. Ahh sim. Mas você deve saber que executar um número de threads maiores que o número de núcleos do processador (virtuais ou não) ao mesmo tempo não causa nenhuma melhora do desempenho, pelo contrário. Isso pode causar lentidão e até mesmo escassez de recursos, o que pode gerar um erro "Out of memory". Digo isso principalmente porque você fez essa pergunta: Não existe um limite inerente no Windows. Mas você deve levar em conta a quantidade de memória e outros recursos (como "address space") que uma thread consome. Por isso você notou o seguinte: A pergunta certa a ser feita nesse caso não é "quantas threads você pode criar?" e sim, "Por que você quer criar tantas threads a ponto de isso ser um problema?". Se você tem realmente essa necessidade, talvez seja melhor você criar um sistema de thread pool /thread queue/thread worker. Assim você limita o número de threads a serem executadas ao mesmo tempo, mas permite criar um número praticamente ilimitado de threads. EDIT: Quero dizer, limita o número de threads criadas e executadas, mas permite um número praticamente ilimitado de tarefas a serem executadas. Se quiser ler mais eu recomendo esse artigo que fala especificamente sobre essa pergunta: O Windows tem um limite de 2000 threads por processo? (em Inglês) Agora vou tentar responder as outras perguntas. Não é possível responder essa pergunta de modo correto sem ver o código. Mas entenda que "FreeAndNil(Objeto)" simplesmente não é melhor do que "Objeto.Free". Se você usa FreeAndNil no seu código sem entender o motivo pode ser que isso esteja escondendo alguns problemas futuros. Tivemos um tópico sobre o assunto aqui no fórum com boas explicações. Sugiro a leitura dele: Há muitos artigos sobre esse assunto também na internet. Recomendo estudar os seguintes: http://tech.turbu-rpg.com/106/delphi-memory-management-made-simple https://stackoverflow.com/q/3159376/460775 Essa pergunta tem basicamente a mesma resposta da anterior: "Por que você quer criar tantos componentes simultâneos a ponto de isso ser um problema?". Pode até ser que isso não seja o seu real problema. Não tem. Quem disse isso provavelmente repetiu o que já ouviu de outros ou não entende o real processo. Contudo o que precisa acontecer é você criar e destruir completamente os componentes. Se isso não acontecer, haverá o que o Daniel mencionou acima: "memory leaks". No Delphi, uma boa ferramenta gratuita pra detectar "vazamentos de memória" ou Memory Leaks é o fastMM. Ele já vem embutido desde o Delphi 2007. Mas o seu verdadeiro poder está no modo FullDebugMode que só é conseguido com a versão completa disponível do GitHub. Experimente verificar seu projeto usando o FastMM. Talvez queira estudar esse artigo e os que ele menciona: https://wiert.me/2009/07/29/delphi-fastmm-using-fastmm4-for-debugging-your-memory-allocations-part-1-introduction/#comment-3407
  10. Um mil e quatrocentas ao mesmo tempo?
  11. A Nota Técnica 2017/001 é quem estabelece as regras sobre GTIN. Você precisa verificar o que ela diz. Você pode fazer download no site da NFe No momento a última versão é a 1.50 de Dezembro de 2018 que marca as vigências em produção como "implementações futuras". Quer dizer que não tem data certa pra produção, por enquanto. Como sempre sai uma nova versão você precisa sempre verificar se houve alguma alteração.
  12. Tentou fazer uma pesquisa aqui mesmo no fórum por "TEF iniciante"? ou TEF recomendações?
  13. Qual a mensagem de erro?
  14. Estranho, nada foi alterado recentemente relacionado a isso. Provavelmente alguma coincidência.
  15. Se você não tem o Fast Report instalado em sua máquina, ao usar o ACBrInstall desmarque todos os pacotes relacionados ao Fast Report. Pelo visto seu projeto está de alguma maneira fazendo menção a pacotes do Fast Report. Essa unit aberta na sua imagem ACBrNFeDANFEFRDM.pas é dos componentes Fast.
  16. Você está seguindo o funcionamento de algum outro componente? Porque não me parece que o objetivo dessa propriedade NomeDocumento seja definir o nome e local a ser salvo do arquivo PDF. Ela me parece ter sido criada para alterar o nome que aparece no "SPOOL" do Windows.
  17. A pontuação está das sentenças está um pouco confusa. É isso abaixo o que você quer dizer?
  18. Qualquer implementação de CallStack (ou Stack trace, ou call trace) deve servir. O EurekaLog e o MadException são os dois produtos comerciais muito utilizados (e recomendados). Mas eles possuem muito mais do que um simples CallStack. Possuem uma gama de ferramentas que ajudam a procurar um bug. Por outro lado, o CallStack em si, pode ser implementado com ferramentas gratuitas. Você pode implementar utilizando a unit JCLDebug.pas da JCL (tem vários artigos sobre isso facilmente encontrados no google), usando a SynLog do projeto mORMot, usando a DebugEngine (do mesmo criador do MadException), entre outros. Caso não estejam dispostos a pagar uma ferramenta, sugiro implementarem uma dessas formas. Com certeza isso vai ajudar vocês a resolverem problemas futuros também.
  19. A pasta que deveria entrar no PATH é a de fontes do ACBrTCP mesmo. Se ela não estava incluída, provavelmente é isso. Contudo, não sei se não ter marcado os outros pacotes pode ter gerado um efeito colateral. Precisaria investigar. Mas não deveria ser preciso.
  20. Acho importante notar que o componente não é específico para busca no site dos Correios, embora esse seja o mais utilizado. Só se você fizer vários acessos simultâneos. O componente não é feito para isso. Não é invasão, nem mesmo entre aspas, porque tudo que é acessado é público e acessível por um browser. Não há quebra de senhas, captchas ou qualquer limitação imposta pelos correios ao seu sistema público quando você faz acesso por meio do componente. Não há garantias, implícitas ou explícitas, que uma mudança no sistema ou página dos Correios (e/ou outros sites semelhantes) não venha a deixar o componente disfuncional. Mas o uso do componente por si só não deixará o sistema dos correios inativo ou não operacional. Não implementamos nada que pudesse causar problemas ao sistema ou site dos correios ou qualquer outro site usado como serviço de um componente ACBr. Não entendo esse questionamento. Não existe uma instrução ou autorização para que você use o site dos correios. Existe? O componente não tem uma base geral de CEP's. Ele não permite buscas próprias ou offline. Ele é apenas para buscas individuais e on-line, na mesma forma disponibilizada gratuitamente pelos correios e outros sites.
  21. O componente ACBrIBPTax faz parte do pacote ACBrTCP: A propósito, sempre que criar um tópico sobre uma mensagem de erro, seria bom você copiar e colar a mensagem aqui.
  22. Não temos acesso a auditores independentes, então até segunda ordem, temos que seguir a legislação. Nesse caso o campo precisa ser passível de ser gerado tanto vazio como zero. A saída é implementar da forma que foi feito em outros campos usando o tipo Variant. Seria de grande ajuda se você puder ajudar a implementar. Por favor, veja esse tópico sobre esse assunto quando aconteceu em outros registros:
  23. Eu sugiro vocês implementarem a geração de um CallStack no seu aplicativo quando acontecer o AccessViolation. Daí vocês poderão verificar exatamente onde aconteceu e investigar o motivo.
  24. Tópico dividido de: https://www.projetoacbr.com.br/forum/topic/49163-problema-ao-gerar-vl_abat_nt-no-registro-c170/
×
×
  • 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...