[Lazarus] Memory leak hunt request

Reinier Olislagers reinierolislagers at gmail.com
Sat May 3 14:47:08 CEST 2014


On 03/05/2014 14:29, taazz wrote:
> On 4/26/2014 12:31 PM, Reinier Olislagers wrote:
>> There are still quite some leaks present, and I'd appreciate comments on
>> what exactly to fix to get rid of them...
> 
> 1) any steps to reproduce the leaks?
>     I did run the application with trace enabled and upon exit no memory
> leaks where reported, after that I played with it a bit creating a
> couple of table views and stored procedures but I didn't get any leaks
> reported other.
> When I say I got no reports I mean that the leak file (opened it from
> the leakview utility) was empty.

Sorry if I didn't mention that: right-click on a table, select view
first 1000 rows gives the leak.
I'm interested in finding out how to solve this one and hopefully I can
learn from it.
(Fairly GUI/Laz newb here - no Delphi background).

An additional issue on Windows seems to be views/right click on a view,
Display View DDL gives error message Failed to create win32 control,
error 0: the operation completed succesfully...
MSDN indicates this can happen if a CreateWindowEx procedure failed;
searching forum gave a hint about message hooks being used (which I
suspect does not occur here); mailing list gave a suggestion that memory
was corrupted leading to this problem.

> 2) Auto created forms?
>   Are all those needed to be create on startup? From a quick look I got
> the impression that they could be encapsulated in to ready made routines
> after a bit of clean up. It has a few questionable design(?) decisions
> for example it has a function in the main form
> called SaveRegistrations that looks like
<snip>
Yes, agreed, there is quite some intermingling of passing data like this
in the code I found.
I've been spending quite some time on getting the backend data
structures improved (e.g. table, stored proc, view generation for scripts).
Currently a lot of information gets transferred in the form of an sql
query object which is shared between a form/module.

Thanks for the registration stuff remark, I'll include that in my
consoldation effort.




More information about the Lazarus mailing list