[Lazarus] Where is TDataSource registered

Joost van der Sluis joost at cnoc.nl
Sun Mar 7 15:48:34 CET 2010



On Sun, 7 Mar 2010, Graeme Geldenhuys wrote:

> On 6 March 2010 17:51, Michael Van Canneyt <michael at freepascal.org> wrote:
>>
>> I appreciate that some bugs are hard to find. But you are wrong if you think
>> that rolling your own widgetset will guarantee you less bugs.
>
> Martin (MSEgui) and myself having first hand experience in this will
> definitely tell you that there are much less bugs (simply because the
> code is simpler), easier to fix bugs too. And to fix a bug it's in one
> location for all supported platforms (99% of the time).

The downside to this is: there is also a lot less functionality.
A simpler product is by definition easier to maintain.

As you will introduce more components, you'll also introduce more
bugs, this is inevitable.

And as soon as someone says 'I want native look and feel', you're
in for a lot of work, and again extra bugs, by nature different 
per platform - and you're in the same situation Lazarus is in now.

> But it has been discussed a million times before and not to be
> repeated here again. Lazarus wanted to take a different approach, by
> having a native look and feel and using native components where
> possible. I know this.
>
> I just think that LCL took the wrong approach in there implementation.
> Forcing Windows-ism on every widgetset the LCL supports - hence
> complicating implementations a lot. Take a look at Qt? No Windows-ism
> in it's design, no Win32 API types in it's design etc., yet it
> succeeds in the native look and feel on all large platforms.

I 100% agree with the critique about windows-isms.

I would also have preferred the LCL to be a VCL 'without the windows calls'

I think the VCL does a pretty good job of abstracting out the Windows API.
You can program it pretty much without knowing anything about the windows API
(some corner cases aside, such as keyboard key names).

It has always pained me to see lazarus' LCL re-introducing the Windows API
to such an extent.

If I was planning Lazarus' future (for clarity: I am not), I would lay out
for the LCL:

- 1.0 as being what is there now, minus the blatant bugs.
   No features/components added any more.
   (I'm pretty condifent Vincent agrees on this goal)

- 2.0: Get rid of the windows-isms.
   Add a set of controls/features deemed necessary, such as an internet browser.

The IDE itself is another story, there you are more free.

The problematic point is: no-one likes to do bugfixing only.

Michael.




More information about the Lazarus mailing list