Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

consultoria_sticker.png

Conteúdo para desenvolvedores
 ao vivo de terça a quinta!
Saiba mais

dev.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Como desativar a Classe ACBrBoletos da Memoria


Go to solution Solved by Rafael Dias,

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