[Lazarus] XML and memory loss

Jesus Reyes jesusrmx at yahoo.com.mx
Wed Oct 8 19:03:19 CEST 2008




--- El mié 8-oct-08, Sergei Gorelkin <sergei_gorelkin at mail.ru> escribió:

> De:: Sergei Gorelkin <sergei_gorelkin at mail.ru>
> Asunto: Re: [Lazarus] XML and memory loss
> A: "General mailing list" <lazarus at lazarus.freepascal.org>
> Fecha: miércoles, 8 octubre, 2008, 10:49 am
> Bart wrote:
> 
> ...
>  >
> > This file is more or less as I excpected it to be (i
> would think it 
> > would include the encoding="utf-8").
> 
> Currently changing the encoding is not supported, and files
> are always 
> written in utf-8 encoding. According to the XML specs,
> files without 
> encoding label are read as utf-8, so this is by design.
> > 
> > The problem is, that for every child I create and
> append, I loose 4 
> > blocks of memory (60 bytes for these 4 blocks) (I used
> the heaptrace 
> > option with compilation).
> 
> The memory leak is caused by using the ChildNodes property.
> Each time 
> you use it, a new TDOMNodeList object is created, which
> must be 
> eventually destroyed by calling Free. The FCL DOM
> implementation does 
> not offer automatic memory management here, unlike other
> implementations.
> 
> Some time ago I updated the English page of Wiki tutorial
> to reflect 
> this fact.
> 
> In your case, ChildNodes.Item[0] can be replaced by
> FirstChild, which 
> will return exactly the same node.
> 
> Regards,
> Sergei
> 

By the way, and taking the fact that xml files are stored always in utf-8 encoding it's surprising that for example XMLConfig doesn't have a way to set a value which is already utf-8 encoded. so, any change to add a methods that take utf-8 encoded strings as arguments?, this way it could ve avoided unnecesary conversions.

Jesus Reyes A.


      ¡Todo sobre Amor y Sexo!
La guía completa para tu vida en Mujer de Hoy.                       
http://mx.mujer.yahoo.com/




More information about the Lazarus mailing list