I have been convinced that FireMonkey provides opportunities to use Delphi in new and exciting ways. I am interested in exploring the possibilities but I also want to maintain as much as possible  of the IP that I have built up in Delphi applications to date.  To help preserve my current code I embarked on converting the basic functions I currently use to compile under FireMonkey projects and when this required form conversion (Utility Dialogs) I fashioned a DFM to FMX converter available here.

This was an interesting and fruitful learning experience and it was encouraging to discover how great the compatibility is between the FireMonkey and VCL components. VCL has however been around for a long time and has a rich range of both native and third party components which FireMonkey cannot yet be expected to match. Add to this the claim that component design in FireMonkey is easy and I thought I might construct a couple of components to fill the gaps in converting my Utility Dialogs.

The two I needed FireMonkey replacements for were TAdvStringGrid from TMS software and the TBitButton from the VCL “Additional” pallet. My next two articles will describe the process of building FireMonkey replacements for these components.