[lazarus] Compile freezes up ??

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Oct 21 11:53:07 EDT 2002


On Mon, 21 Oct 2002 16:41:12 +0200
Marc Weustink <marc at dommelstein.net> wrote:

> At 15:48 21-10-2002 +0200, Mattias Gaertner wrote:
> 
> >The interdependent units:
> >There are a lot of circles in the LCL, inherited from the VCL. I
> >think, circles are design flaws. And I think, they can be broken
> >without loosing too much compatibility. But IMO each of such changes
> >should be discussed first on this list.
> >Should we begin such a discussion?
> 
> Again ???

The circles are a problem again. And they will stay a problem. 
They are unnecessary and make it difficult to control the order of the
initialization and finalization sections. They make it harder to
understand code. All this makes the LCL a bad example for writing code. 
We are using mode objfpc to disallow Delphi ambiguities, but we don't
use any of the nice extensions (e.g. c operators, inline, exit(), ... )
of this mode. All this to give a good example for readable pascal code
(and some other more abstract reasons). But OTOH we use circles.
Also circles are not very helpful for smartlinking.
I don't mean the circle between the interfaces and the LCL, although
this can be broken rather easily as well.
I mean circles like: controls.pp needs menus.pp, for the only reason
that it needs TPopupMenu.

I don't want to ignore the old discussion, but I hope someday the LCL
will become an easy hierachy instead of the furball it is now.


Mattias






More information about the Lazarus mailing list