Sep 292011

One of the newly discovered features of RAD Studio XE2 is the ability to have a separate manifest for each build platform as well as the ability to more easily include your own custom manifests.

In XE, D2010, D2009, D2007, the IDE’s added the ability to check an option to include runtime themes.  This created a manifest file that was embeded into the EXE on build.  The manifest was primative and mainly dealt with the inclusion of requiring the ComCtrls 6 to leverage the improved appearance of controls.  The problem with the manifest is that it did not allow for the inclusion of the necessary items for Vista and Windows 7, such as elevation requirements.

The workaround was to disable runtime themes and then create your own manifest file. Then you would create a resource file that included the manifest.  Then you would add a $R pointing to the resource file in the project source to load in the manifest.  Depending on your tact, you may need to use the MSBUILD options to compile the resource before compiling the application. (Pre event).

With XE2’s new ability to build a 32 bit or 64 bit application, this created a problem.  The manifests could potentially be different if you are doing a side-by-side manifest using Type Library / ActiveX controls and need to include the appropriate manifest details for the controls to prevent having to use REGSVR32 on the end user’s machine for the controls.

In XE2, the gang in Scotts Valley did an awesome job in setting up project options for this situation.  First off, each platform has it’s own settings for build settings as well as the option to use run-time themes, no manifest or (THANK YOU THANK YOU [about time] THANK YOU) point to a custom manifest. So now, you can create a PROGRAMMANIFEST.MANIFEST file that can be compiled into the 32 bit and a PROGRAM MANIFEST64.MANIFEST to be compiled into the 64 bit application, each with their own manifests covering their particular needs.

Sep 292011

I, for one, am excited to see Embarcadero’s new release of their programmer tools recently.  Embarcadero released upgrades for Delphi, C++ Builder, Prism (Pascal for .NET) and PHP begining of September.

I had the chance to see Anders Ohlsonn at the RAD XE2 World Tour stop in Seattle and was one of many that got to see some pretty cool things.

One of the biggest things added to Delphi that has been grumbled about for some time in the community has been lack of native 64 bit support.  With XE2, this is now here, being able to cross compile your application for 32 bit or 64 bit.

Another new feature is releasing a new framework called Firemonkey.  VCL has long been the framework of Delphi and is stable and can do a lot of things. What Firemonkey brings is a whole new world of 3D visual display and a unique presentation layer.  While this new framework is young, it was based on work done by KSDev who sold the IP to Embarcadero and helped create something new.  The heads of Embarcadero have pledged full backing of Firemonkey and promise frequent updates to resolve issues quickly and to try and grow acceptance of new development to this new framework.  Time will tell, for sure, but it looks promising.

Another new feature asked about is cross compiling for the OSX platform. With XE2, this is now an option, however, can only be done (officially) using the Firemonkey framework.  To get to market faster, Embarcadero chose to develop a remote compiler which leverages the FreePascal / XCode compilers for the Mac.  I’m sure XE3 will probably change this to have their own native compiler.