FireMonkey Q&A

By: Tim DelChiaro

Abstract: Questions and answers from a FireMonkey webinar

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: If I need installation support, where should I go for assistance?

A: Please contact Embarcadero Support by going to http://www.embarcadero.com/support

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.

For migrating VCL forms to FireMonkey – check out Jeff Lefebvre’s blog post about “MonkeyGroomer”

http://pascalcoder.blogspot.com/search/label/MonkeyGroomer

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:

Windows

·               Intel® x86-compatible, Pentium® 4 or later

·               Basic GPU - Any vendor DirectX 9.0 class or better (Pixel Shader Level 2)

·               32-bit or 64-bit Windows

·               Microsoft® Windows 7

·               Microsoft® Windows Vista™ SP2

·               Microsoft® Windows XP Home or Professional, SP2 or SP3

·               Microsoft® Windows Server® 2003 SP1, 2008, or 2008 R2

OS X

·               Mac OS X 10.6 Snow Leopard or OS X 10.7 Lion

·               2 GB RAM or more

·               All Intel Macs have a qualified GPU

iOS

·               iOS 4.2 or higher

·               All iOS devices have a qualified GPU

Supported virtualization products for running in a Virtual Machine (host requires GPU)

·               VMware Fusion 3

·               VMware Workstation 7

·               VMware Player 3

FireMonkey development requires Delphi XE2, C++Builder XE2, or RAD Studio XE2 running on Windows

iOS development requires Delphi XE2 or RAD Studio XE2

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.

Q: Can the 3D graphical objects display CATIA V4 / V5 models? Or "Right Hemisphere" models?

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.

http://www.apple.com/iphone/business/integration/

Q: FireMonkey on iOS cannot be programmed with C++?

A: That is correct. iOS development is only available with FireMonkey and Delphi. iOS support in C++Builder is being considered for the roadmap.

Q: Feature matrix shows that "mobile DataSnap" is not provided at the "Professional" level product.  Is there an alternative database connection available to "pro" licensees?

A: We provide dbExpress local database connectivity for InterBase and MySQL in the Professional Edition, DataSnap is in Enterprise Edition and above.

Q: How can video be presented through the interface?  I.e. to create a FLV player for example?

A: A FireMonkey video component is not supported in the current release. However, this is on our roadmap.

Q: What database solutions exist on iOS platform?

A: We are not aware of any beyond SQLite at this time.  You can access SQList using Object Pascal on the iPhone.

Q: Does FireMonkey have a TRichEdit component?

A: The TRichEdit component is currently only a Windows (VCL) specific control, however, we are planning to update FireMonkey often and add more components over time.

Q: Is style always rendered by FireMonkey or can it use the native OS style, rendered by the OS?

A: FireMonkey styles are rendered by FireMonkey.

We deliver several styles for the native operating systems FireMonkey targets including:

FMX.Platform.iOS.style

FMX.Platform.Mac.style

FMX.Platform.Win.style

You can also create your own styles and modify any of the provided styles.

Q: How can i program a button to play a mp3 file? It would be nice if you could have more how to videos

A: We are working on video tutorials for the product. You can visit http://docs.embarcadero.com/ for our online documentation, or visit our video channel for product videos, webinars etc. at http://channel-e.embarcadero.com/

Q: Do you need a Mac to develop for iOS

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: What can the ClientDataSet bind to?

A: FireMonkey includes built-in component based access to MS SQL Server, Oracle, IBM DB2, MySQL, Sybase, Informix, InterBase and Firebird databases. And of course, FireMonkey's data access is native which offers high performance.  Detailed feature matrices are available at: http://www.embarcadero.com/products/rad-studio

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:

You should also check out PascalGameDevelopment.com - http://www.pascalgamedevelopment.com/ - for articles about game development with Delphi.

Q: What native support for TCP/IP and UDP does FM have?

A: FireMonkey uses the Delphi RTL and Indy components for network access functions.

Q: Where can I find an example of using a database (like SQLite) with Firemonkey for Win, OSX and iOS?

A: For iOS database connectivity, you can access SQList using Object Pascal on the iPhone.

dbExpress can be used in FireMonkey to connect to a variety of databases on Windows and OSX.

Q: Can you give a quick example of using a TMESH Object?

A: We are planning on uploading a TMesh demo to a repository on Sourceforge soon.

Q: Will any major third-party component vendor support Fir e Monkey -- DevExpress, Telerik, etc.?

A: TeeChart has built FireMonkey components (http://www.steema.com/linkIn/TeeChartForXE2). The lite version ships with the product.  We know that other vendors are developing them, and encourage you to contact the technology partners directly. You can also visit our Tools and Components page http://www.embarcadero.com/products/rad-studio/tools-and-components or our Tech Partners Directory at tp.embarcadero.com

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)?

A: It can, yes.

Q: What databases are available on both Windows and OS X?

A: FireMonkey includes built-in component based access to MS SQL Server, Oracle, IBM DB2, MySQL, Sybase, Informix, InterBase and Firebird databases. And of course, FireMonkey's data access is native which offers high performance.  Detailed feature matrices are available at: http://www.embarcadero.com/products/rad-studio

Q: If so, are there components for SOAP and JSON?

A: FireMonkey RAD Cloud DataSnap connectors allow you to build clients in virtually any development platform, language or framework to use FireMonkey DataSnap services. Connectors include Windows, Mac, Web, .NET, JSON/RPC, PHP, iOS, Android, Blackberry and Windows Phone.

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.

Q: Does FireMonkey have TWebBrowser

A: An equivalent FireMonkey control is not available in this release.

Q: Can FireMonkey applications on Windows use non-visual components (like dbGo)?

A: Yes, dbGo is supported.

Q: Question:  If all the code is standard VCL code is should port with little to no issues, correct?

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

For migrating VCL forms to FireMonkey – check out Jeff Lefebvre’s blog post about “MonkeyGroomer”http://pascalcoder.blogspot.com/search/label/MonkeyGroomer

Q: Blender is a 3D animation package.  Can images created in Blender and saved as obj's be imported into FireMonkey?

A: We currently support ASE, DAE and OBJ.  We are planning to support additional 2d and 3D model imports in the future.

Q: Does FireMonkey have a capability like OpenCL to use the GPU for math operations

A: Not in this release.

Q: Can I Use MySQL Database ?

A: Yes, MySQL is a supported database.

Q: what type of connectivity is available for remote DBs?

A: FireMonkey includes built-in component based access to MS SQL Server, Oracle, IBM DB2, MySQL, Sybase, SQL Anywhere, Informix, InterBase and Firebird databases.

Q: I read in a blog that TActionList is not available in FM. Is that true? Any plans to add it?

A: That is correct, but it is being considered for the roadmap.

Q: Did you say that C++Builder apps cannot be compiled for Mac or iOS?

A: With C++Builder, you can develop both Windows and Mac applications. To be able to develop iOS applications, you will need to use Delphi for your FireMonkey application development.

Q: Hi, Can I use MySQL database in both platforms?

A: Yes, MySQL is supported on both Windows and Mac FireMonkey applications.  FireMonkey includes built-in component based access to MS SQL Server, Oracle, IBM DB2, MySQL, Sybase, SQL Anywhere, Informix, InterBase and Firebird databases. FireMonkey's data access is native providing high performance.

Q: Can we use export to Xcode for FireMonkey HD application or we need to use only FireMonkey iOS Application

A: To create an iOS Application, you can either create an HD FireMonkey iOS Application or a 3D FireMonkey iOS Application.

Q: Will FireMonkey support Android in the future?

A: We are planning on supporting Android in the future.

Q: Can Delphi compile libraries for Xcode?

A: Delphi can be used to create native Mac OS X .dylibs. It is possible to export functions from these libraries which can be called by other Mac OS X applications.

Q: Have you published any iOS apps to the App Store for review?

A: We have not submitted any applications to the App Store for review yet, but have heard that customers have done so.

Q: what reporting option is available for firemonkey applications?  Fast reports?

A: There currently is no embedded reporting solution available for FireMonkey applications.

Q: How about TChart - does it leverage the FireMonkey interface?  Will I need to purchase a TChart upgrade for the professi0onal version?

A: TeeChart has built FireMonkey components (http://www.steema.com/linkIn/TeeChartForXE2). The lite version ships with the product. 

Q: Does a windows app developed using FireMonkey work on Citrix?

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.

Q: Is FM capable to build database oriented business applications?

A: Yes, FireMonkey provides ultra-high performance access to the most popular databases. FireMonkey includes built-in component based access to MS SQL Server, Oracle, IBM DB2, MySQL, Sybase, Informix, InterBase and Firebird databases. And of course, FireMonkey's data access is native which means high performance.

Q: Does dbExpress components work with FireMonkey?

A: dbExpress can be used in FireMonkey to connect to a variety of databases on Windows and OSX.

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 support for Windows 8 Metro Style apps be available in the next major version of Delphi, depending when Windows 8 is actually released?

A: No announcement has been made for Windows 8 Metro Style apps in a particular version of Delphi.

Q: Does FM provide database connections so you can connect iOS to say an MS SQL database on a home server

A: There currently is no client/server support on iOS.


Server Response from: ETNASC04