Object destructor failure: Reference to freed block

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Object destructor failure: Reference to freed block

Mensagem por JoséQuintas »

Como faço pra localizar este erro - HMG Extended

Error BASE/1302 Object destructor failure: Reference to freed block

Não tenho nenhuma referência a fonte ou linha de fonte, apenas essa mensagem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Object destructor failure: Reference to freed block

Mensagem por JoséQuintas »

Fui procurar no google, e encontrei uma mensagem minha antiga com a mesma mensagem de erro.
Na época resolvido com este commit.

https://github.com/harbour/core/commit/ ... 6038a3a620

Não sei se tem algo a ver.

Uma vez que HMG tem suas próprias rotinas em C, pode faltar o mesmo tratamento.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Object destructor failure: Reference to freed block

Mensagem por JoséQuintas »

Para problemas malucos, soluções malucas.

Resolvido. Acrescentei GTWVG.HBC na compilação...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Object destructor failure: Reference to freed block

Mensagem por JoséQuintas »

Alarme falso.
Dependendo da situação antes de fechar as janelas, o erro acontece.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Object destructor failure: Reference to freed block

Mensagem por asimoes »

Quintas,

Estou com o mesmo problema
Error BASE/1302 Falha Object destructor: Reference to freed block
Called from INKEY(0)
Called from __MENUTO(0)
Called from TESTE2(128)
Called from (b)CLPRINCIPAL_CHAMAROTINA(279)
Você achou alguma solução ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Object destructor failure: Reference to freed block

Mensagem por JoséQuintas »

Não vi mais o problema, então não faço a menor idéia do que poderia ser.
HMG original ou modificada? ou em thread?

Obtive uns erros malucos ao gerar LIBs de modo incremental, como sub-projeto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Object destructor failure: Reference to freed block

Mensagem por asimoes »

Quintas descobri a solução,

Tudo é uma questão de saber fechar as coisas.

Estou fazendo um exemplo com hwgui + rmchart - peguei o seu exemplo no git allinone,

Eu chamo o exemplo em uma thread dentro de uma janela hwgui int window na saída para não dar problema ficou assim:

oCrt1:destroy() /FECHA A JANELA TstRectangle()
oRmChart:Destroy() //FECHA A DLL
oCrt:Destroy() // FECHA WvgCrt()
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Object destructor failure: Reference to freed block

Mensagem por asimoes »

Screen Shot 04-02-17 at 03.55 PM.PNG
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Object destructor failure: Reference to freed block

Mensagem por asimoes »

Quintas,

Fugindo um pouco do assunto, como eu faço para centralizar essa janela que herda de WvgWindow
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Object destructor failure: Reference to freed block

Mensagem por asimoes »

Quintas,

Consegui,

Estava fazendo assim:

oCrt := WvgCrt():WvgCrt():New()

Modifiquei para:

oCrt := WvgCrt():WvgCrt():New( , , { -1, -1 }, { 25, 80 }, , .T. )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Object destructor failure: Reference to freed block

Mensagem por JoséQuintas »

Mas é provável que a HWGUI tenha alguma coisa pra isso.
O RMChart permite usar ou a indicacão de janela (hWnd) ou a indicação da área de desenho (hDc).
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Object destructor failure: Reference to freed block

Mensagem por asimoes »

Sim a hwgui tem esse exemplo para usar rmchart (ocx)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder