One more of the “Missed Schedule” series, this time it was originally scheduled for October 1st, (2013 that is).
Delphi XE2 and up introduced the FrameworkType and FormType elements in the .dproj files to distinguish between VCL and different flavours of FireMonkey.
Actually, Delphi XE1 already had the value None for FrameworkType, so some cross-platform changes trickled into the Delphi builds early.
Though the IDE writes these values to the .dproj files, you cannot change their values from within the Delphi IDE, not even through the Open Tools API.
There is no documentation about the values in the .dproj files. the only places I could find were these about FrameworkType in combination with Actions:
- Changes in Implementation of VCL Actions – RAD Studio.
- Framework-Independent Action Features Are Implemented in RTL – RAD Studio.
- Support for Managing Actions in IDE – RAD Studio.
- System.Actions.CreateAction – RAD Studio API Documentation.
- System.Actions.EnumRegisteredActionsProc – RAD Studio API Documentation.
that basically tell this:
FrameworkType
Defines whether an action is created for the VCL or FireMonkey (FMX) framework. The default of this parameter is VCL (for compatibility with legacy applications).
This parameter is used to avoid situations when VCL actions are used in FireMonkey applications and inversely; this can lead to a serious increase in an application’s size and to execution errors, for example, calling of Windows API under MacOS.
But it is incomplete, and there is no documentation about FormType.
The valid values for FormType and FrameworkType are as follows:
FormType values
Value FormType values are these:
dfm | VCL form (equivalent to an empty string, or no element at all) |
fmx | Firemonkey form (except for Delphi XE2 where this denotes a non-mobile Firemonkey form) |
lfm | Delphi XE2 Firemonkey mobile form (for the iOS support through FreePascal) |
FrameworkType values
Valid FrameworkType values are defined in the ToolsAPI.pas unit of the ToolsAPI:
sFrameworkTypeDotNet = ‘DotNet’; | .NET application | (this value is not used anywhere in http://sourceforge.net/projects/radstudiodemos/) |
sFrameworkTypeFMI = ‘FMI’; | Delphi XE2 Firemonkey mobile application | (for the iOS support through FreePascal) |
sFrameworkTypeFMX = ‘FMX’; | Firemonkey application | (except for Delphi XE2 where this denotes a non-mobile Firemonkey application) |
sFrameworkTypeNone = ‘None’; | VCL application | (for backward compatibility; equivalent to no FrameworkType element at all) |
UCL | Firemonkey 3D application | (this is an error value as it is not in ToolsAPI.pas, but it is in the RadStudioDemos) |
sFrameworkTypeVCL = ‘VCL’; | VCL application |
UCL is an error (it is an invalid value), but it is present in these demos:
RadStudioDemos\branches\RadStudio_XE2\FireMonkey\helloworld3d\helloworld3d.dproj
RadStudioDemos\branches\RadStudio_XE2\FireMonkey\LowLevelDemo3D\LowLevel3DDemo.dproj
RadStudioDemos\branches\RadStudio_XE3\FireMonkey\helloworld3d\helloworld3d.dproj
RadStudioDemos\branches\RadStudio_XE3_Update\FireMonkey\helloworld3d\helloworld3d.dprojand fixed to FMX as of Delphi XE4.
FMI
The only posting I could find about FMI was the one below.
To make sure the via Embarcadero Discussion Forums: Convert FMX to FMI …. does not get expired on the forums server (they have a finite retention there which can be quite short for certain newsgroups):
I have automated this in FinalBuilder with these steps:
Copy the whole project folder
This should be sufficient to create a iOS compatible project from a HD project.
–jeroen
via: Embarcadero Discussion Forums: Convert FMX to FMI ….
Filed under: Delphi, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Missed Schedule, SocialMedia, Software Development, WordPress
![](http://stats.wordpress.com/b.gif?host=wiert.me&blog=7443331&post=17441&subd=wiert&ref=&feed=1)