Jump to content

dev botao

Como desativar a Classe ACBrBoletos da Memoria


MULLER
Go to solution Solved by Rafael Dias,
  • Este tópico foi criado há 1348 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 comment
Share on other sites

  • Moderadores

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
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link to comment
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 comment
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.

 

Link to comment
Share on other sites

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

The popup will be closed in 10 seconds...