[Lazarus] lfm file format

Mattias Gaertner nc-gaertnma at netcologne.de
Sun Apr 6 03:23:02 CEST 2014


On Sun, 06 Apr 2014 00:49:45 +0200
Marc Santhoff <M.Santhoff at web.de> wrote:

> On Sa, 2014-04-05 at 12:23 +0200, Mattias Gaertner wrote:
> > On Sat, 05 Apr 2014 12:06:20 +0200
> > Marc Santhoff <M.Santhoff at web.de> wrote:
> > 
> > > Hi,
> > > 
> > > ist there a complete documentation of Lazarus' LFM xml file format?
> > 
> > No.
> > If someone wants to start one I will help.
> > Note: The xml format has not yet implemented all features.
> 
> Oops, I confused something. I silently assumed .lfm's are stored in XML,
> but they are not. In fact the storage format is someting like XML
> without tags but python-like syntactical indentation.

Yes.

 
> Now I'm confused. When and how is XML used to store form descriptions?

Some people use it. The IDE does not.

> What use cases is it made for?

Some people prefer xml.

 
> What I really want to do is to write some form descriptions (and code)
> by a generator program. If there is any existing code that can be reused
> it would be very helpful.

This is too vague. What do you want to achieve?

 
> > > Maybe someone having good knowledge of the IDE source code can name the
> > > unit(s) where writing and reading forms is handled?
> > 
> > xml "driver" reader/writer:
> > components/lazutils/laz_xmlstreaming.pas
> > 
> > Component streaming in general:
> > unit classes, see TReader/TWriter
> > 
> > IDE additions:
> > designer/jitforms.pp
> 
> So for not generating form code myself I would learn to use jitforms
> unit. Do you see any problems in writing the code to a file instead of
> using it like in lazarus' desing mode?

The jitforms unit is only useful if you want to write a form designer,
which can load arbitrary forms with unknown classes.
Normal loading/saving only needs the stuff of the RTL+LCL.

Mattias




More information about the Lazarus mailing list