Vcl Library

The Borland VCL is both a great achievement and a big annoyance, depending on whether you just found something that is done very cleverly there or stumbled over a stupid bug.

Actually, most of it is pretty nifty. The way they made OO wrappers around all Windows controls which are easily extendable using inheritance. Want to have a label that looks like a hyperlink in a browser and when you click on it actually opens the standard browser and goes to a web page? Simple, just add a few lines of code and one additional property, make the constructor change the font to be underlined and blue. Give it to all your colleagues and in no time they will be writing cool looking dialogs without even be required to know how it works.

But on the downside: Look at the TrackBar? component (Win32 page of the component palette). It is just missing half of the properties you would need to actually make use of it. Looks as if somebody at Borland decided to ship the product before this particular component was ready. But even here the VCL shows its strengh: I could easily extend the broken component and add all the missing events and properties by just deriving my own component from it and calling a few Win32 APIs.

And just one closing word on the new CLX (Class Library for Cross Platform) which has been shipped with Kylix and as far as I know is also part of Delphi 6 (as well as being open source as free CLX, see http://freeclx.sourceforge.net) I was amazed to find that I could just use the same properties, events even some components I wrote based on VCL classes under CLX without any change at all! That is just cool. I only wish Borland started offering the free version of Kylix they promised a year ago.


Update: You can download Open Kylix for free from Borland's web page: http://www.borland.com/kylix/tryitnow.html The Open edition has a few features stripped out and all of your projects must be released under the GPL if you distribute them. There is a splash screen to remind you of the licensing.


CategoryDelphi


EditText of this page (last edited April 3, 2014) or FindPage with title or text search