[Lazarus] What are "widgets" in lazarus?

Graeme Geldenhuys graemeg.lists at gmail.com
Mon Jan 10 13:59:44 CET 2011


Op 2011-01-10 14:30, Vincent Snijders het geskryf:
> 
> It is not so odd, if you remember that the LCL was modeled after the
> VCL, which has even more 'Windows-ism's.

Yes I understand the attraction towards VCL, but having the Windows API
(as an example) cloned for every widgetset of every platform is a bit
overboard I think. Just take a look at the <widgetset>winapih.inc files
to see what I mean. Windows API methods, Windows types used etc. must
now all be converted to individual widgetset or cross-platform types for
EVERY widgetset LCL supports. Even the name of that unit says it all.
Why must LCL's GTK, Qt, fpGUI, Carbon widget sets know what ReleaseDC()
method means or know about types like HGDIObj or HWND etc? I'm sorry,
but speaking as somebody that has cross-platform widgetset experience,
LCL uses a terrible design.

If somebody wants to implement a "true" cross-platform application (and
seeing that that is what LCL was designed for), developers should fix
their source code by not calling a specific platforms API. Instead they
should use some cross-platform alternatives, implemented by the LCL.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/





More information about the Lazarus mailing list