Jump to content

click.png click.png click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

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


trialconsultoria
Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 738 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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;

Link to comment
Share on other sites

  • Consultores

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.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores
  • Solution
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.
Link to comment
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?

Link to comment
Share on other sites

  • Consultores
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.
Link to comment
Share on other sites

  • Consultores
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.
Link to comment
Share on other sites

  • Este tópico foi criado há 738 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.