Ir para conteúdo
  • Cadastre-se

dev botao

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


trialconsultoria
Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 1650 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 para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde

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

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 para o comentário
Compartilhar em outros 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

 

  • Curtir 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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;

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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 para o comentário
Compartilhar em outros sites

  • Consultores
16 horas atrás, trialconsultoria disse:

Resolvido

Certo. Muito obrigado pelo retorno.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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 para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1650 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.