[Lazarus] Delphi XE2 uses FPC, plus VCL just not portable

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Mon Aug 8 07:55:03 CEST 2011


On Mon, Aug 8, 2011 at 12:06 AM, Graeme Geldenhuys
<graemeg.lists at gmail.com> wrote:
> No, it's because Qt was designed from the start and from the ground up
> to be a cross-platform toolkit. That makes a huge difference. VCL was
> designed for Win16 (and was inherited from TP for DOS), then molded to
> Win32. It has so many Windows-ism in it's core, and THAT is what makes
> VCL so hard to port. Many "features" in VCL just makes no sense on
> other non-windows platforms.

Not true! Qt 1.0 was no great toolkit, but they improved it over time.
Similarly you can make gradual small changes so people can adapt their
code and gradually improve the toolkit.

Another example: Gtk is full of X11-isms. Many "features" from Gtk
like Colormap make sense only in X11.

> I guess you just can't see the difference between a company that needs
> to support tens of thousands of paying customers, compared to a mickey
> mouse open-source project with no recourse for backward compatibility.

Like .NET (from a huge company with tens of thousands of paying
customers) is super backwards compatible?

Anyway, it is totally false that the LCL has no guarantees for
backwards compatibility. The LCL adds incompatible changes just as
much as Qt, for example, adds such changes. Is fpgui 100% backwards
compatible??? If yes, then why LCL-fpgui stops compiling regularly?

Plus, Embarcadero already broke backwards compatibility in Unicode.

>> WindowState: wsFullscreen
>
> A recent addition to LCL I believe. VCL didn't need it, because you
> just used the Win API do do it. It was pretty simple to use too.

That's my whole point, one can simply add functionality that was
missing and caused people to use the Windows API and it is
cross-platform. Like Lazarus does.

> A product/toolkit worth using is more than just its number of
> features. Stability plays a huge roll too. Lazarus is broken even
> second day. Working features break between every release.

That's totally false. The LCL doesn't break more then any other big software

What other software do you use in trunk as opposed to a stable
release? Most you can't anyway.

And other applications dont introduce any compatibility breaks? Even
Mac OS X Lion was shipped with a known bug in NSStatusItem which I
reported in time to them. Many applications using NSStatusItem will
need to adapt their code for this bug. And guess what??? No, you can't
custom draw this component. It is the Mac OS X Tray Icon.

-- 
Felipe Monteiro de Carvalho




More information about the Lazarus mailing list