[Lazarus] lfm file format

Marc Santhoff M.Santhoff at web.de
Sun Apr 6 20:53:32 CEST 2014


On So, 2014-04-06 at 03:23 +0200, Mattias Gaertner wrote:
> 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.

I see.

> > 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?

I'm thinking about a programm that:
- opens a database
- generates form and source for each table
- uses mapping db-type -> gui component
- uses configuration

If you ever used the "Database Form Wizard/Assistant" of Openoffice you
know what I want. Not exctly that way, but in result a basic form that
can be trimmed to fit by hand afterwards.
 
> > > > 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.

OK.

-- 
Marc Santhoff <M.Santhoff at web.de>





More information about the Lazarus mailing list