Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

clube mobile


Cursos grátis para toda base ACBr
+ Promoção Clube Mobile para o ACBr Pro

Saiba mais

adriano santos

click.png

click.png

click.png

click.png

click.png

click.png

Como desativar a Classe ACBrBoletos da Memoria


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

Recommended Posts

Assim esta funcionando corretamente eu monto os boletos e faço a impressão, mas quando volto no processo para emitir outros boletos faz tudo mas da erro no metodo Boleto:Imprimir(), esta me parecendo que nao estou "destruindo" a instancia da classe ou coisa assim, pois se sair do sistema e acessar novamente dai faz os boletos corretamente.

Como posso proceder? talvez usar o metodo DESTRUCTOR que no meu entender tem o parâmetro Destroy!

Link to post
Share on other sites

Na verdade precisamos saber como está fazendo?

Tu fica criando tudo em runtime? cuidado ao usar DataModules pois ele é singleton

lembrou de limpar os titulos antes de começar tudo? eo  componente de geração do pdf e impressão tu desassocia e associa toda vez se faz em runtime?

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites

Observando a Rotina:

PROCEDURE Destroy CLASS ACBrBoleto
    DllCall(::hHandle, DLL_OSAPI, "Boleto_Finalizar")
    DllUnload(::hHandle)
RETURN

Eu alterei para esta:

PROCEDURE Destroy CLASS ACBrBoleto
    hResult := DllCall(::hHandle, DLL_OSAPI, "Boleto_Finalizar")
    DllUnload(hResult)
RETURN

Esta alteração feita no fonte ACBrBoleto.prg que esta nos : \\Demo\Harbour\Boleto

Dessa forma passou a funcionar a instrução:

oBoleto := Nil

Sempre que puder ajudar estamos a diposição.

Skype:  clairtomuller

 

Link to post
Share on other sites
  • Solution

Este é um erro do LCL do lazarus não tem como corrigir, para evitar ele basta iniciar uma instancia da lib e deixar ela sempre na memoria, não precisa usar esta instancia basta deixar ela na memoria que o LCL para de dar erro.

E a sua modificação esta incorreta como tu vai descarregar a Handle da dll passando o resultado do processo, ali tu tem que passar o handle mesmo.

Consultor SAC ACBr Rafael Dias
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Desenvolvedor ACBrLib.

 

Link to post
Share on other sites
×
×
  • Create New...