[Lazarus] When do I need a component rather than a plain object?

Juha Manninen juha.manninen62 at gmail.com
Wed Nov 17 00:22:46 CET 2010


Frank Church kirjoitti tiistai 16 marraskuu 2010 21:54:39:
> I am not blaming Lazarus as such, as Delphi does the same, but when I do a
> diff of a .lfm file it is obvious to me that things would be much clearer
> from source code generated at runtime, rather than looking at the
> properties text in source. Runtime source code can also be formatted
> properly or even have an order of generation so stuff don't get move
> around much. It can even be generated in separate files, or as Graeme said
> in some private section of the file.
> 
> Eg. when you move components around sometimes for the sake of accessing
> other components properties to change them, it creates a lot of noise in
> the diffs, as positions in most cases  are irrelevant to a lot of
> components.

There is also another related but little different problem with .lfm diffs.
When I touch a form that someone else has committed into revision control, the 
Top, Left, Height and Width properties of all controls change. I don't need to 
change the layout or any property for it to happen.
This was annoying when multiple people made changes to the Build Lazarus 
dialog. I edited some small thing but in commit history it looks like a 
massive layout change.
If I understand right it is caused by different widgetsets and themes and 
whatever. There is no change in the actual layout (all controls are anchored) 
but it adds noise to the commit history.

Is there any way to prevent it, except for editing the diff manually (or using 
the line resolution commit system with a local git repo)?

Juha




More information about the Lazarus mailing list