[lazarus] CVS changes
Mattias Gaertner
nc-gaertnma at netcologne.de
Sun Feb 3 08:05:25 EST 2002
On Sun, 03 Feb 2002 02:29:58 +0100
Michal Bukovjan <michal.bukovjan at openone.cz> wrote:
> - split LCLLinux into LCLLinux and LCLType,
ok
> likewise Graphics -> Graphics and GraphType.
Bad: loosing delphi compatibility in the lcl
Good: breaking circles
The compiler doesn't seems to have problems with the current lcl inner circles, so why the change?
> The LCLType unit and GraphType unit contain
> constants and types commonly used, the purpose of the split is that we
> can now reference common types (like TAlignment) from interfaceobject
> units without circular references, or without the need to declare them
> twice.
There are no real circles between LCL and the widget-interfaces.
The only circle is the interfaces.pp. A few weeks ago Marc and I tested successfully to break even this one. The price was just to add a further unit to the main program source.
The only advantage was, that we can skip the remove intefaces.ppu in the Makefiles. So, we kept the current solution.
> Something lik C header files. Maybe in future they could contain
> abstract class declarations as well, I would like to discuss this first,
> though.
I think, this depends on every case. What classes do you think of?
> BTW, I ran into some compiler bugs:
>
> 1) Compiler mishandles units that begin with the same string, i.e. when
> I have units Graphics and GraphicsType, the second is never found!
Can u give an example?
> 2) Inheritance seems to function somewhat strange - for example, try to
> create:
>
> type TMyButton = class(TBitBtn);
>
> Whenever you create this type of button on a form, it is never
> displayed. Weird. TBitBtn button is of course OK.
Yes it is. Can u send me an example?
Mattias
More information about the Lazarus
mailing list