Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

trialconsultoria

ANSWERED Erro na chamada "ACBrBoleto1.Imprimir" Not enough timers available

Recommended Posts

Boa tarde,

Estou tendo dificuldades para gerar boleto, estou recebendo o erro "Not enough timers available", logo após a chamada de "ACBrBoleto1.Imprimir"

Debuguei o ACBRBoleto.pas mas não identifiquei o momento da falha, o debug passa  por duas funções após a chamada de "Imprimir" dentro delas não ocorre parada

Logo que finaliza ele retorna esse erro:

image.png.12ca2f93aca03c76b1fd83dcc82c3d10.png

 

Segue a baixo o código de tentativa de impressão:

 

 

procedure TFrmBoletos.IMPRIMIRClick(Sender: TObject);
var Titulo : TACBrTitulo;
begin

    Titulo := ACBrBoleto1.CriarTituloNaLista;
    with Titulo do
    begin
      Vencimento        := Now;
      DataDocumento     := Now;
      NumeroDocumento   := '123';
      EspecieDoc        := '1234';
      if 'SIM' = 'SIM' then
         Aceite := atSim
      else
         Aceite := atNao;
      DataProcessamento := Now;
      NossoNumero       := '1245';
      Carteira          := '12456';
      ValorDocumento    := 1.40;
      Sacado.NomeSacado := '12456';
      Sacado.CNPJCPF    := '12456';
      Sacado.Logradouro := '12456';
      Sacado.Numero     := '12456';
      Sacado.Bairro     := '12456';
      Sacado.Cidade     := '12456';
      Sacado.UF         := '12456';
      Sacado.CEP        := '12456';
      ValorAbatimento   := 0;
      LocalPagamento    := '12456';
      ValorMoraJuros    := 0;
      ValorDesconto     := 0;
      ValorAbatimento   := 0;
      DataMoraJuros     := 0;
      DataDesconto      := 0;
      DataAbatimento    := 0;
      DataProtesto      := Now;
      PercentualMulta   := 0;
      Mensagem.Text     := '12456';
      OcorrenciaOriginal.Tipo := toRemessaBaixar;
      Instrucao1        := '12456';
      Instrucao2        := '12456';
      Parcela           := 1;
    end;

    // grava o nosso numero na conta
    // Atualiza a consulta

    ACBrBoleto1.ACBrBoletoFC.DirLogo  := 'C:\Users\Trial\Desktop\B.Texte\LogoColorido';
    ACBrBoleto1.ACBrBoletoFC.Filtro   := fiNenhum;
    ACBrBoleto1.ACBrBoletoFC.LayOut   := lPadrao;
    ACBrBoleto1.Banco.Digito          := 123456;
    ACBrBoleto1.Banco.Numero          := 12345;
    ACBrBoleto1.Cedente.Nome          := 'Fulano';
    ACBrBoleto1.Cedente.CodigoCedente := 'Fulanoteste';
    ACBrBoleto1.Cedente.Agencia       := 'Fulanoteste';
    ACBrBoleto1.Cedente.AgenciaDigito := 'Fulanoteste';
    ACBrBoleto1.Cedente.Conta         := 'Fulanoteste';
    ACBrBoleto1.Cedente.ContaDigito   := 'Fulanoteste';
    ACBrBoleto1.Cedente.UF            := 'Fulanoteste';
    ACBrBoleto1.NomeArqRemessa        :=  'TESTE';

    ACBrBoleto1.Imprimir;

end;

Share this post


Link to post
Share on other sites

Boa tarde

Você chegou a vincular o componente de impressão ao ACBrBoleto usando a propriedade ACBrBoletoFC?

Att.

  • Like 1

Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Share this post


Link to post
Share on other sites
2 horas atrás, trialconsultoria disse:

Estou tendo dificuldades para gerar boleto, estou recebendo o erro "Not enough timers available", logo após a chamada de "ACBrBoleto1.Imprimir"

Taí um erro que eu não vejo a muito tempo. Esse erro é gerado quando se tenta criar um TTimer e não tem sucesso.

Isso pode acontecer por alguns motivos.

O mais comum é que você está criando muitos TTimers no seu projeto. Há um limite no Windows da quantidade de Timers que podem ser criados por aplicação.

A correção por tanto é reduzir o número de timers que você utiliza. Você pode tentar, por exemplo, usar o mesmo timer para diferentes funções.

Mas pode ser outro problema relacionado aos timers... Por exemplo pode ser outra aplicação que causa o problema... Veja esse relato:

http://www.delphigroups.info/2/35/440863.html

 

  • Like 2

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

Share this post


Link to post
Share on other sites

O erro pode ser ignorado caso execute a chamada da função imprimir uma segunda vez posteriormente o fastreport abre com os boletos,

o erro de timers engana pois não tenho Ttimer nesse form e dentro da aplicação somente dois formes alheios tem um Ttimer cada e como no,

post http://www.delphigroups.info/2/35/440863.html sitam que o erro pode nos fazer pensar que é somente o limite de Ttimers,

mas para conhecimento a linha que da problema é essa aqui:

 

image.thumb.png.7653ed05d46bfcccf8f302da89acd7ed.png

 

"frxReport.ShowReport(false);" debugando cheguei nela

Mas achei uma forma diferente de fazer oque eu quero na aplicação,

eu preciso gerar o pdf e salvar em um pasta diretamente via código teria como me dar um exemplo?

Share this post


Link to post
Share on other sites
55 minutos atrás, trialconsultoria disse:

o erro de timers engana pois não tenho Ttimer nesse form

O limite é por aplicação e/ou pelo windows. Não por form.

55 minutos atrás, trialconsultoria disse:

sitam que o erro pode nos fazer pensar que é somente o limite de Ttimers

Sim... Como eu disse acima pode ser gerado por outro motivo. O limite é apenas o mais comum que eu vi...

55 minutos atrás, trialconsultoria disse:

eu preciso gerar o pdf e salvar em um pasta diretamente via código teria como me dar um exemplo?

Tente o seguinte código:

  ACBrBoleto1.ACBrBoletoFC.NomeArquivo := 'Caminho\Para\Arquivo.pdf';
  ACBrBoleto1.GerarPDF;

 

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

Share this post


Link to post
Share on other sites
16 horas atrás, trialconsultoria disse:

Resolvido

Certo. Muito obrigado pelo retorno.

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...