2009/11/12 Brian Prentice <bprent...@webenet.net>:
> My point about showing the differences in the dialogs, one acceptable and
> one clearly not acceptable, is that the solution seems to require the
> construction of two dialogs one for OS X and one for WindowsXP.  Perhaps I'm
> wrong here but if I'm right this violates the Lazarus and FPC goal of write
> once. I don't want to start a war here but as you probably know Java has

This indeed violates that "goal", but please don't evaluate lazarus as
a complete product.  There is a bug tracker, with very friendly and
responsive developers, as you have noticed.

> solved this problem nicely with layout managers.  If layout managers were
> implemented in Lazarus the IDE would also be simpler, an additional
> advantage.

Graeme has raised this point and it sounds very handy indeed.  As
Vincent pointed out, the layout mechanisms in place can already
accomplish a lot, if not all of your needs.

>
> Earlier in this thread it was stated that when designing an application
> consideration should be given to the differences in the underlying operating
> systems.  This might be true but if you do this you severly weaken the
> stated goal which would then read something like:

The fact is that different operating systems and different widgetsets
do things differently and fpc and lazarus does its best to abstract
and hide this from users.  Sometimes this is just not feasible and
developers are forced to follow best practises.  There will inevitably
be some functionality that is not consistent or even present on all
platforms.  I've used lazarus with 4 different widgetsets under 4
platforms.  There are very few systems that can do this with native
code.  It is an incredible feat in cross platform cross widgetset
design.  Note also that some sacrifices are obviously made to use
widgetsets to give the "native" look and feel on a platform.

>
> 'Lazarus and Free Pascal aim to be write once, compile anywhere for those
> programs which only use the supported operating system features that share a
> common design'.

And I would've thought that this was obvious.  There are just some
things you cannot abstract/emulate.

>
> Surely a better approach for Lazarus and FPC is to hide operating system
> difference from users.

This is the current approach, obviously.  The job of the lcl is to
abstract widgetset differences and the job of the fpc rtl is to
abstract system functions.  If this wasn't the case you'd have to use
win api calls for windows and carbon for mac.

Henry

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to