[fpc-pascal] Request for a look at sqldb Firebird database code

Jim hakkie42 at gmail.com
Thu Sep 9 15:15:16 CEST 2010


Hi all,

Still wrestling with my locate clone at (download source+exe)
http://bitbucket.org/jb/flocate/get/tip.zip

I've hit some interesting behaviour: running 64 bit embedded Firebird
with 64 bit fpc lead to unhandled exceptions in the Firebird dll, see:
http://mantis.freepascal.org/view.php?id=17360

So, I struggled on with 32 bit fpc/Firebird.
I use a TObjectlist to store file info:
see earlier post titled
TObjectList works; TFPObjectList gives memory leaks:
> Each search for files creates a TObjectList descendant
> (TDirectoryEntryList, see directoryentrylist.pp)
> 
> On finding a file, the search class createa a DirectoryEntry object with
> the relevant file properties and adds this to the directoryentrylist.
> 
> Finally, I iterate through the list and store the results in a database.
> Then I try to destroy the directoryentrylist, and the directoryentry
> items get deleted by the Tobjectlist code.
> 
> This works using a TObjectList; however when I use a TFPObjectList for
> TDirectoryEntryList, I have a memory leak of exactly all files/objects
> found that were not released.
Got some help and advice to file a bug if a simplified case led to the
same error.
It turns out that removing my database code in flocatedb fixed my
problems with TFPObjectlist.

I suspect my newb skills have lead me to write some nasty buggy database
code.

Would some kind soul review it and give some hints? Of course, comments
on other parts of the code are welcome, too...

Thanks,

-- 
Regards,

jb



More information about the fpc-pascal mailing list