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