[lazarus] Delphi incompatibility

Curtis White cwhite at aracnet.com
Fri May 5 00:37:02 EDT 2000


Marc Weustink wrote:

> + From: m_bukovjan at advisbbdo.cz [mailto:m_bukovjan at advisbbdo.cz]
> +
> + I have the same opinion. I think Lazarus is not just for
> + Windows anymore, so I'd leave the units as they are.
>
> For porting issus it is easier if we follow the VCL. Why especially for
> buttons an own unit ? Makes no sense to me.
>

Others should probably be broken out to units that make more sense too. But
nobody has taken that task on so far and we haven't really discussed it that
much before now (that I remember).


> + > That is how TNotebook is. The TNotebook control in Delphi does not
> + > have tabs but the LCL one does. Also, we don't have a TTabbedNotebook
> + > any more as Delphi does.
>
> As I understood in the past it was only a temporary solution the get things
> done. IMO it doesn't mean that it has to stay this way forever.
>

Actually, I think it was meant to be the permanent solution because
I originally created them as they are in Delphi.  I had created a
TTabbedNotebook with tabs and the TNotebook without tabs.  But someone removed
TTabbedNotebook and added tabs to TNotebook.  So basically that original way
was removed.


> + > So I don't see a problem with having buttons in a different unit. It is
> + > easier to determine where buttons are that way.  The stdctrls name isn't
> + > really very helpful in determining what is in that unit. The reason
> Borland
> + > named it that is because those are standard Windows controls and a lot
> of
> + > developers prior to Delphi knew them that way.  But since Lazarus isn't
> + > built just for Windows, some of those names don't make a lot of sense.
> + > Under Linux, the name stdctrls really doesn't mean anything useful,
> other
>
> That also count for the other units. (can you tell what is in extctrls ? ;-)
>

I agree. Those classes should probably be broken out into units that make more
sense too. I just don't think anyone has taken on the task to do this, or to
discuss it. So it remained as it is.

The problem with trying to keep them as Delphi has them is that Borland could
change at any time and then we would also need to change the LCL in order to
remain compatible. This could cause us a lot of problems. If we have our own
naming scheme, then we are in control of when it changes. Then it is just a
matter of mapping our units to the Borland units somehow.  This mapping could
be done in properties, a config file, XML or something that is easier to
change.


Curtis







More information about the Lazarus mailing list