FireMonkey Q&A

The following are questions and answers from an Embarcadero FireMonkey webinar. The questions and answers are being provided here as an information resource in case others may have similar questions. This information is as of September 2011.

Q: Does FireMonkey have a canvas you can draw to like TCanvas, for using LineTo, Ellipse, FillRect etc

A: Yes. All FireMonkey controls are drawn using calls to FireMonkey’s TCanvas.

Q: Will IOS projects be available for C++, Is there a guide for iPod and iPad restrictions or limitations.

A: C++ support for iOS is being considered for the roadmap.

Q: Does FireMonkey have a TrichEdit component? Part of last question -- We need to be able to capture styled text from users, with support for images. Users need to control bold, italic, underline, paragraph numbering, bullets, font changes, font sizes, etc., so we used TRichEdit in the past...Lastly, we resize the control as the content is entered so that the width is fixed, but the height changes based on content so as to avoid vertical scroll bars, Is that all possible in FireMonkey...? Do LiveBindings connect and access DataSnap servers?

A: There is no TRichEdit component as that is a Windows specific control. LiveBindings can work with data returned by DataSnap servers such as JSON objects, JSON arrays, TDataSet and user defined objects.

Q: What is the timeframe for C++builder iOS support?

A: We have not announced a date for C++Builder iOS support.

Q: FireMonkey means rewriting all existing application, right?

A: No, much of your application logic should be portable. However, user interfaces will need to be recreated with FireMonkey Forms and Controls.

Q: What would you recommend the best system configuration to do Win & Mac development? e.g., I think you mentioned that you are running a Mac which has Win7 in vmware fusion... is this best?

A: There are several system configuration for doing Windows and Mac development. The configuration you describe is a popular setup, but we do not recommend 3rd party vendors over one another.

Q: Can the form itself (i.e. edges including title bar) by styled by FireMonkey?

A: Integrated support for styled borders is on the road map. It is quite possible to use a borderless window and draw these elements using FireMonkey.

Q: Are there any iOS simulators on Windows?

A: No, there aren’t.

Q: Can you access/ use internal devices on the IPAD like the camera or GPS

A: Yes, you can through the IOS SDK.

Q: Are there plans to support the Linux operating system with FireMonkey? Which FreePascal compiler was used with FireMonkey?

A: The Linux OS is being considered for the roadmap.

Q: How & where can you develop more effects ? (you talk about complements from anothers)

A: FireMonkey effects are simply FireMonkey components. New effects can be created just like any other component, by using the New Component wizard and using TEffect (or one of the existing effects) as the ancestor.

Q: I have a virtual box for windows that I use on my Mac OSX, what version of Windows (XP, 7, etc) does FireMonkey support?

A: FireMonkey applications run on multiple platforms with these requirements:

Q: Would you have C++ for IOS? Does FireMonkey talk with Intel Parallel Libs?

A: C++ for iOS is not available in this release but C++ support for iOS is being considered for the roadmap. FireMonkey itself does not use Intel Threading Building Blocks or OpenCL.

Q: Does FireMonkey work with iOS 5? And Lion also...

A: iOS 5 is currently in beta. We plan on supporting iOS 5 when it is released. Yes, FireMonkey applications run on Lion.

Q: What about database connectivity? We use Advantage Database - both with Server and Local file access mode. How would that work with FireMonkey? Namely would I need a new component from Advantage ? is there a FireMonkey ODBC so I could connect from Mac? can VCL app be compiled to Mac????

A: dbExpress can be used in FireMonkey but we do not have a driver for Advantage. You may want to check and see if Advantage is providing a component for Mac. The ODBC driver is not currently supported for Mac. VCL applications are tied to Windows and cannot be compiled for Mac.

Q: What 3rd Party vendors are supporting FireMonkey components?

A: Currently, TeeChart has built FireMonkey components. The lite version ships with the product. We know that other vendors are developing them, but we don’t have a list at this time.

Q: Is there a FireMonkey DBGrid? Many of my application rely heavily on 3rd party grids.

A: With FireMonkey, there is no need for a DBGrid. LiveBindings allow you to bind data to just about any object. For example, you could bind to a TStringGrid or a TGrid. A DB specific control is unnecessary.

Q: What about reporting/printing?

A: We don’t have anything out of the box, but we do know that some vendors are looking into it.

Q: Will DataSnap callbacks be supported in IOS and Mac

A: Heavyweight callbacks are supported on IOS through the Datasnap Mobile Connectors. We support Datasnap clients on the Mac. Mac clients support heavyweight callbacks, and likely also lightweight callbacks with a TSQLConnection.

Q: The original invitation mentioned a 20% discount. Is this still the case? Also, once a filter has been used on an image, can you save those changes to disk?

A: The effects are designed to be applied at runtime. It should be possible to extract a bitmap from the canvas and then save it to the disk.

Q: Do Database objects get exported to Xcode from FM?

A: To clarify, if this question is regarding our IOS support through Free Pascal, the only package we compile with that is the FireMonkey package which does not include our database runtime bits.

A: There currently is no importer for those file types. However you could write your own importer.

Q: Have many vendors committed to developing fire monkey components. Do you have a list of committed vendors –

A: TeeChart has developed components for FireMonkey that ship with the IDE. We know that several vendors are actively working on developing FireMonkey components but we don’t have a list of third party FireMonkey components with release dates at this time.

Q: Can FireMonkey export any project to Xcode to be modified in Xcode?

A: Technically yes, but this is still constrained by differences in the Free Pascal compiler and RTL. The only proprietary Framework provided by Embarcadero for iOS is the fmx, fmxase, and fmxojb packages.

Q: Can you explain more about the GPU? Does FM detect the capabilities on a client machine and adjust accordingly

A: FireMonkey uses the GPU in three ways: 3D support, shader-based filters, and 2D drawing. There is no software fallback for 3D support and shader-based filters. FireMonkey will fall back to a GDI+ based canvas on windows when Direct2D is not available. GPUs are standard on all Mac and iOS systems we support.

Q: Do you anticipate current 3rd party VCL vendors to start converting their controls to FM?

A: TeeChart has already started by providing FireMonkey charting components and anticipate that others will follow.

Q: Is it possible to use FireMonkey for writing applications that rely on windows SDK functionality, such as text to speech (SAPI5)? Is RAD Studio XE2 required for cross platform development? Or, do I just need Delphi XE2?

A: Yes, you can access native OS functionality from within FireMonkey. FireMonkey is delivered with Delphi XE2 and RAD Studio XE2.

Q: Will 3rd party components, such as ReportBuilder work in FM?

A: Not out of the box. The third part component vendor will have to do some rewriting to get the components to work.

Q: What about iOS deployment? Is it still through the app store, is there another way?

A: You need an Apple developer account to deploy your iOS applications directly to your iOS device. You can also package the apps for distribution on the App Store. We have an article on iOS development at: http://edn.embarcadero.com/article/41620

There are different types of developer accounts that you can sign up for including an enterprise account which allows you to deploy apps inside your firewall.

A: Yes, you need a Mac as part of the workflow to develop for iOS. xCode is required and it runs only on Mac OS X.

Q: Will FireMonkey HD applications run over VNC or Remote Desktop?

A: Yes, FireMonkey HD applications run over VNC and Remote Desktop.

Q: Can you mix FM code & Object-C code?

A: A Delphi-Objective-C bridge mechanism is part of the Delphi RTL on OS X and this can be used to interop with native Cocoa frameworks. For other Objective-C code or custom frameworks, the same bridge could be used, but it is up to the user to port their interfaces from Objective-C to Delphi.

Q: Are there plans or efforts in the works to provide FireMonkey support on Linux and Android?

A: Both of these platforms are on the roadmap.

Q: What data based controls are available in FM?

A: Most FireMonkey visual controls can be bound to data, objects and expressions using our new LiveBindings technology.

Q: What is the cost for transferring data from DELPHI to an IOS? I just heard their is a developer cost. I work for the VA. We are getting ready to build a new new project where nurses/ technicians & doctors. They can use their Ipods, etc., to place orders on supplies, medications etc.

A: You will need to sign up for a developer account through Apple. More info is available at developer.apple.com

Q: Is the source code for the demos available?

A: Most of the demos shown during the presentation are included as samples with the product. However, we are planning on adding more demos to a repository on Sourceforge.

Q: Is it reasonable to re-skin an existing Delphi application to use Firemonkey (an application that very heavily uses existing Delphi 2006 visual components, in particular.)?

A: The UI would effectively need to be rewritten using FireMonkey. In your scenario, it would likely be more effective to use the new VCL theming system to apply styles to VCL components.

Q: Can FireMonkey be integrated with Flash and game engines for a GUI and data?

A: We currently do not have a FireMonkey component for Flash – but there are always programmatic ways to get from Delphi to Flash. There are several game engines and a physics engine (Newton) for Delphi. You can use these and then use FireMonkey for the Game UI. Here are some useful links for game and physics engines that support Delphi including:

Q: Why should I believe that this is the future? Kylix was presented as the future and was killed in a single year.

A: Embarcadero is committed to the success of FireMonkey. With this release, expect regular and frequent updates to FireMonkey.

Q: Will there be any issues compiling from older version of Delphi?

A: There really is not a generic answer to this. Generally the older the code, the more likely that some changes will need to be made to account for new language features. For code coming from recent versions of Delphi, many users report that a simple recompile is all that is necessary.

Q: Does FireMonkey 3D allow picking objects in 3d model?

A: I assume you are referring to selecting areas on a 3D object. You can map values to 3d objects that get adjusted via the TSelectionPoint3D component. For example, you could click on certain areas on a 3d sphere and move it around in 3D space and display the angle of rotation as the object moves around.

Q: Do you provide a docking/layout manager?

A: There are some layout management capabilities, but no pre-written docking system.

Q: Does FireMonkey allow for use of the GPU for high performance computing (e.g. CUDA or OpenCL)?

Q: Do you provide complete FireMonkey projects? I have been having trouble locating these sorts of resources.

A: We include a list of FireMonkey sample projects with XE2. By default on Vista and Windows 7, they are located at C:\Users\Public\Documents\RAD Studio\9.0\Samples

Q: Can I compile a 64 bit application on a 32 bit Delphi XE2 (installed on a 32 bit machine)?

A: Yes, you can build 64-bit applications using a 32-bit machine. However, you won’t be able to test them unless you use the Platform Assistant running on a 64-bit Windows machine or deploy the application to a Win64 machine.

Q: What databases drivers available on OS X using FireMonkey?

A:Included dbExpress drivers available for OS X are InterBase, Firebird, Oracle, MySQL, SQL Anywhere and Informix (Professional only includes InterBase local and MySQL; these are not available in Starter as you cannot create Mac OS X applications with the Starter edition).

Q: does FM provide database connections so you can connect iOS to say an MS SQL database

A: We currently do not have client/server support on iOS.

Q: Is there a solution for reports in FireMonkey?

A: There is currently no reporting solution available in FireMonkey.

Q: When using themes on the main form do child forms inherit that theme as well or does the theme have to be added to each form.

A: You can choose from included styles or create your own. Styles can be added via a stylebook so they affect the entire application, but will have to be re-added for the child forms.

A: Citrix is not an environment that has been tested or certified. A FireMonkey HD application may work in this environment by disabling hardware graphics acceleration. A FireMonkey 3D application will likely not work.