Page 1 of 1

TSimpleGraph Bug???

PostPosted: April 18th, 2005, 3:00 pm
by Neftalí
Hello.

At First excuse-me for my bad English... :cry:

I'am working in a project using the TSimpleGraph component. The thematic one of the project is "Yard Plannig"; It's similar to a parking of cars, but with containers.
I'am creating aprox. 1200 objects in the simpleGraph. All it's working OK, but reviewing the application i think that in the Destroy procedure of the object TSimpleGraph the created objects are not being freed.

Thare are a simple test to make.

I Have created a Destroy Method in TRectangleNode like:

destructor Destroy; override;

and its corresponding implementation.

When the Destroy procedure of the SimpleGraph object is Executed, the code of TRectangleNode.destroy never is Execute and the object is not freed.

To ensure this i have executed the project using AQTime (Profiler) and it's confirmed this.

PostPosted: April 19th, 2005, 11:57 am
by Stefan
Hi,

Thank you for reporting this.
For now I suggest you update the component yourself so that it frees the objects. We will fix this in the next release, which will be on SourceForge under the extgraph project: http://sourceforge.net/projects/extgraph

Stefan

PostPosted: April 19th, 2005, 2:33 pm
by Neftalí
I already have made the changes to correct that error in my code. In the Destroy routine of the component simply i have cross the list of created objects and to release them one by one (for instruction); This change recover the lost memory.

Thanks.

PostPosted: April 21st, 2005, 6:33 pm
by Kambiz
Neftalí:

Thanks for reporting the memory leak.
I fixed the memory leak in SimpleGraph.


Stefan:

Just for your information, I modified the following procedures to fix thr bug.

Code: Select all
TSimpleGraph.ObjectListChange;
TSimpleGraph.SelectionListChange;
TGraphLink.VerifyLinkedObjects;
TMemoryHandleStream.Destroy;

Thanks everybody and regards