Sunday, July 14, 2013

Raize Components Seeking FireMonkey Feedback

I purchased Raize Components about a year ago after watching a CodeRage demo. I have just barely scratched the surface of how to use this set of components. I'm in the middle of porting an old 640 X 480 D5 application. My original goal was to do this using D2010 but I didn't make enough progress and needed to take advantage of the XE4 upgrade pricing. So, now I'm porting this over to XE4.

There are a lot of things to like about RC, too many to mention here. Like many of you I am now faced with the FireMonkey decision. Should I go the VCL route or use FireMonkey? I can tell you this... if Raize had a component set for FireMonkey that was as good as the RC VCL tools my answer would be FireMonkey without one bit of hesitation..

Which brings me to this point. I need to get a new version of my software out there before it becomes obsolete. So, I'm going to stick with the VCL side for now. Once that is done then I will look at a FireMonkey port. However, if you have been using FireMonkey and you find yourself frustrated with some of the "out of the box" features there's one person who wants to hear from you, his name is Ray Konopka.

I recently visited the RC support forum and here is a portion of Ray's response when asked if he plans to port RC to FireMonkey. (read full thread)
...simply trying to port the Raize Components controls over to FireMonkey is probably not a good use of resources and would not have the same impact that the product has on the VCL side.

Instead, our plan is to determine those tasks that are difficult for developers to accomplish in FireMonkey and provide custom FireMonkey controls to address those needs. There may be some controls that are similar in design to a Raize Components controls, but will be specifically designed for FireMonkey. In fact, it will probably be a new product line.

Unfortunately, I do not have any specifics to share at this time. But I would encourage you to share with us your experiences with FireMonkey and what specific tasks are difficult for you to accomplish. We've been building a list of our own, but the more feedback we can get the better.

I'm a such a FireMonkey noob I won't be much help in building a FireMonkey "wish list". Here's where you FireMonkey guys come in. If you have a nit-pick about a standard FireMonkey control or if you find yourself frustrated because the standard FireMonkey controls makes things difficult Ray wants to hear about it.

Send your FireMonkey ideas to

I'm not going to totally rely on you guys. Believe me when I come across a FireMonkey nit-pick I'll send it to Ray.

Now, let's get this party started!

Semper Fi,
Gunny Mike


  1. Hi Mike:

    I gave FireMonkey several tries. The goal was creating a simple client to create, display and edit remote database data. I used XE2, XE3 and XE4. Some of the data is graphic and saved in SVG format. The short version is that FireMonkey is unusable unless you are willing to delve deeply into its implementation code and fix bugs, which is not always difficult, but _VERY_ time-consuming, and shear insanity with the current more frequently than yearly FMx/RAD Studio release schedule, as your code will likely break. I think Ray is smart to not jump in. I would much prefer a third-party, VCL-like implementation targeting other platforms using platform-native UI controls whenever available. VCL is mature and good, and I do not see any businesses switching to Windows 8 any time soon around me. They are all upgrading to Windows 7 and plan to stay there for as long as possible.

    1. @NMAD - Thank you for your excellent insight. Right now, the only reason I'm considering FM is the opportunity to create a Mac version of my software. It would be a nice to finally offer my product to them.

    2. I downloaded and looked at your Credit Card Math program. You should be able to implement it with FireMonkey without too much hassle. If you have to use TPath to correcly display graphics, use TMemo for data entry or use grids to display data, then there will be bugs galore and upset users, just to mention the UI elements.

  2. Jason Southwell, Arcana, has an SVG component for FireMonkey in his Apesuite set of components.

    TSVG - A component that renders SVG graphics for your Firemonkey forms. Elements in the SVG file are accessible via code and can be easily manipulated as with any other Firemonkey object.

    For SVG data, you can also load the SVG path data into a TPath (2D) or TPath3D FireMonkey component's "Data" property. I use TPath3D in my Brazil population demo where I use Inkscape's XML editor to copy the path data text and save it into an InterBase text blog and then read it back into my app:

    StateArray[i].Path3D := TPath3D.Create(self);
    StateArray[i].Path3D.Parent := Layout3D1;
    StateArray[i].Path3D.Path.Data :=
    // get bounded rectangle for the state
    BR := StateArray[i].Path3D.Path.GetBounds;
    StateArray[i].Path3D.Position.X :=
    StateArray[i].Path3D.Position.Y :=
    StateArray[i].Path3D.Height := BR.Height/ScalingConstant;
    StateArray[i].Path3D.Width := BR.Width/ScalingConstant;
    StateArray[i].Path3D.Depth := 0;

    1. Thanks for your comment. There are a few reported FireMonkey TPath bugs on QC already from at least 2 users that remain to be fixed (at least ine dates back to XE2). It is possible to display SVG data using FireMonkey TPath. However, they are not displayed correctly and proportionally. Did you suggest using 3rd party components for existing FireMonkey ones?