Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.437
  • Registro em

  • Última visita

  • Days Won

    117

Tudo que EMBarbosa postou

  1. Olá luizfr, O código que você enviou fez o inverso do que está atual, quer dizer, impede de informar um valor menor que 4: ifthen(FPosPrinter.ConfigQRCode.LarguraModulo < 4,4,FPosPrinter.ConfigQRCode.LarguraModulo) Além disso, notei que seu arquivo está desatualizado. Queira por favor: Atualizar o ACBr Substituir o arquivo pelo anexo testar Reportar qualquer problema ACBrNFeDANFeESCPOS.pas
  2. Nesse caso você precisa converter do formato do SiTef para o do SAT, invertendo e adicionando a barra. Não tenho. Não tem no site do Integrador CE?
  3. Não sei se você se atentou a descrição do campo, mas me parece que só existe código autorização quando é crédito mesmo. Veja Campo "135 - Contém o Código de Autorização para as transações de crédito (15 posições no máximo)". Já o campo 133, por sua própria descrição "Contém o NSU do SiTef (6 posições)" não é código de autorização. Me parece ser outro campo que não é atualmente tratado pelo ACBrTEFD. Existe algum outro motivo que você pense que a alteração seja necessária?
  4. Então pode ser que a propriedade KeyPreview do Form esteja False. Mude para True. Esse artigo abaixo em inglês é muito explicativo sobre o assunto: https://www.thoughtco.com/understanding-keyboard-events-in-delphi-1058213
  5. O Integrador CE não tem uma exigência de formato? Porque quando tem, você precisa usar o formato exigido independente do formato que você usa no aplicativo ou componente.
  6. Mesmo que fosse, não há nenhuma diferença. Ele pode continuar compilando a aplicação dele tanto como Release como Debug que nada será afetado.
  7. Me parece fazer sentido o que diz. Você poderia fazer as alterações e anexar o arquivo alterado para que possamos analisar?
  8. Pode ser um bug no componente então. Ou no ClientDataSet ou no DBX que você usa por trás. Lembro de ter tido um problema como esse. Estava até no QC da Embarcadero...
  9. Se no lugar do clear acontecer o mesmo problema com outros valores então possivelmente é problema na lógica mesmo. Talvez controle transacional.
  10. O que não está sendo tratado corretamente? Um campo? O tipo do cartão? O retorno? Existe um passo a passo para reproduzir o problema?
  11. sua pergunta não faz sentido. Não se instala pacotes em debug ou release.
  12. A dll para balança está no arquivo mencionado no início do tópico.
  13. Isso acontece porque nas versões mais novas do Firebird é exigido um charset e collate. Se você não passa um, ele assume o padrão da conexão. Se não existe um definido na conexão, acho que ele assume UTF-8. Se seu banco de dados atual não tem charset definido nos campos char e varchar, (quer dizer está NONE), você precisa adicionar um.
  14. Até onde me lembro o código deveria ser algo como: ClientDataset.Edit; ClientDataset.FieldByName('usuario').Clear; ClientDataset.post; ClientDataset.ApplyUpDates(-1);
  15. Caso o seu form use herança, pode ser que o código que faz o tratamento esteja num outro form ancestral.
  16. Pense no google, ele não te mostra todas as páginas existentes na internet do mundo para que você possa escolher qual vai entrar. Você digita o que quer e pesquisa. Caso ainda existam muitas opções, ele limita a quantidade que vai mostrar em cada página.
  17. Sem saber exatamente qual o seu SQL fica difícil opinar. Tente o que o Breno sugeriu acima.
  18. Isso não me parece ser um erro de banco de dados nem relacionado aos componentes. Provavelmente ficaria melhor na área "Dúvidas não relacionadas ao ACBr".
  19. Olá, Apenas como confirmação, está na nossa lista de afazeres/prioridades.
  20. https://stackoverflow.com/questions/3627743/delphi-thread-exception-mechanism
  21. Bom dia. Os próximos códigos que você colar, por favor, cole em modo texto. Isso facilita. Tem uma opção pra colar código no editor do post... Voltando... Na verdade eu não perguntei sobre travamento da tela, eu me referi ao comentário que você fez anteriormente sobre a variável teste: Como assim o travamento é na variável? Você precisa ter essa verificação no execute, especialmente quando faz um loop "While True". Se a aplicação estiver sendo terminada, quem vai avisar a thread que ela pode parar de trabalhar? Caso isso não aconteça ela vai continuar executando, passando a impressão que a aplicação está travada. Bom, se a aplicação está travada, ela não terminou. Se ela não terminou, não tem como verificar se houve memory leak... Então não podemos afirmar nada, mas cuidado com isso... Eu não posso dizer que compreendi bem a sua arquitetura aqui... mas você não deve acessar valores globais dentro do método Execute da thread. Se vai acessar qualquer valor fora da thread precisa no mínimo do método Synchronize (para acessar a thread principal) e em outros casos, Semáforos ou Mutex... Não faça isso. Em threads, você precisa fazer um tratamento especial pra exceptions... Dá uma olhada no Google. E se a aplicação estiver sendo terminada, como fica? E onde está o tratamento de sincronização entre as duas threads? Não é isso o que o código da chamada está mostrando. Você está passando um objeto já criado para o método Create da Thread... Então ele não faz parte da Thread. É importante entender que a VCL não é inerentemente "thread safe". Então você precisa codificar para evitar locks e race conditions. Nesse caso, acho melhor você procurar alguma coisa já pronta, ou pelo menos parcialmente pronta. Use o VNC por exemplo. Desenvolver um acesso remoto não é tão fácil quanto parece...
  22. Com esse novo cenário que você passou fica um pouco difícil de analisar sem mais informações. Por exemplo, o que você quer dizer com "o travamento é exatamente nela"? Você não verifica o Terminate no Execute da thread. Está ciente que isso está faltando? Quantas vezes a thread é criada? Ela é liberada da memória? Onde foi definido essa variável Lista e idProprio? O que faz o método Existe? E o método SetObjDesktop? Por que tem um Try..Except em branco? Como a thread sai do loop while True se o Socket estiver conectado? A propósito onde são definidos esses sockets?
  23. Você não pode acessar variáveis fora do contexto da Thread sem o método Synchronize. Então: Em primeiro lugar, você não pode acessar o Form1 no método TTeste.Create. Em segundo lugar, você não pode acessar a variável Terminou dentro do Execute fora do Synnchronize().
  24. Olá, Me parece que está faltando o arquivo dfm ou lfm alterado.
×
×
  • 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...