Hi Pritpal,

I'm facing the same issue with xhgtk library, it's basically the same thing
except that I'm using with the Browse Class.

Here's the error message:

Error BASE/1301  Object Destructor Failure: Reference to freed block
BASE/1301  Object Destructor Failure: Reference to freed block

Total memory allocated: 557807 bytes (4590 block(s))
WARNING! Memory allocated but not released: 36 bytes (1 block(s))
fm.c:623: HB_TR_ERROR Block 1 (size 32) XHGTK_TREE_ITER_NEW(0), "08,8.900/8-
E.9000000000000000E00*91723)9-0.A.F000200000002000000"

Even removing the destructor clause and put the call to xhgtk_tree_iter to
the "destroy" event through the callbacks, I got this error above

Regards
Rodrigo Moreno

On Feb 12, 2008 6:19 PM, Pritpal Bedi <[EMAIL PROTECTED]> wrote:

>
> Hello
>
> This observation pertains to non-freeing of mem blocks.
>
> While investigating deep I found yet another surprise ( or I am
> underinformed ) or it is supposed to behave the same way as is happening.
>
> You need to link the sample below with FreeWin.lib as it was quick to use
> that engine to create a modeless window having its own event management
> but
> invoked off a GTWVT application.
>
> Function Main()
>   Local nSel
>   Local aSel := { 'Execute Modeless Window', 'Exit' }
>
>   SetColor( 'N/W' )
>   CLS
>
>   do while .t.
>       nSel := AChoice( 10,30,15,60, aSel )
>       if nSel == 0
>          Exit
>       endif
>       ExecModelessWindow()
>   enddo
>
>   Return nil
>
> Function ExecModelessWindow()
>   Local oWnd
>
>   oWnd := CWindow():New()
>   oWnd:ShowWindow()
>
>   Return NIL
>
> Try to execute few window one after the other as control returns back to
> do
> while loop. Everything will go normal. Close all windows and exit the
> application. Check FM.LOG. It will have an array of unfreed memory blocks.
> Also inspect the task manager with opening of each window. Memory goes on
> increasing and never decreases.  Instead of FreeWin.lib you can test it
> with
> your own library, the only condition is that application be a GTWVT ot
> GTWVG
> linked one and window be invoked from within this executable.
>
> Yet more ineteresting: Just open one window and move the mouse over it and
> over application window for some time and check the fm.log. You will find
> a
> long list of entry like:
>
> Block 469 001EDB50 (size 40) INKEY(0),
>
> "B0C21D00C0DA1E00184143000100000002000000000000000A000000820000000000000000000000"
>
> My point is, is there any way to release memory occupied like this? Note
> that <Local oWnd> get out of reference once <Return NIL> is encountered
> but
> the code assigned to oWnd via CWindow() class keeps on working without any
> errors.
>
> Regards
> Pritpal Bedi, INDIA-USA
>
> --
> View this message in context:
> http://www.nabble.com/GC---Reference-to-Freed-Memory-Block---GPF-tp15403015p15441969.html
> Sent from the Harbour - Dev mailing list archive at Nabble.com.
>
> _______________________________________________
> Harbour mailing list
> Harbour@harbour-project.org
> http://lists.harbour-project.org/mailman/listinfo/harbour
>
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to