Why sometimes you *want* to to have your DFM files stored as binary

  

Delphi Component/Tool vendors have to support a truckload of Delphi and C++ Builder versions which can be a pain: they have to work around problems in Delphi and C++ Builder versions that have long been abandoned by Borland/CodeGear/Embarcadero/Idera/…
This means that sometimes the Delphi Component/Tool vendors have to work around stuff in a way normal applications vendors would never do.
Recently I learned that sometimes this can be a painful thing: keeping DFM files in binary state.
I’m not kidding about either the DFM file format nor about supporting old versions:

Delphi has supported text based DFM files since like Delphi 2 for most of the features (yes, ‘most’ is the crucial word here) and by default stored DFM files in text format since Delphi 5.
For the Component/Tool Vendors, even Delphi 7 makes money though usually less than Delphi 2007 or the C++ Builder side of things.

The ‘most’ applies to this nice ARM compiler bug in Delphi 19.0.13856.4978 (for mere mortals, that’s Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5; I wish vendors would list those numbers/products in a central place):

[Android] MsBuild (dccAarm) error when compile FireMonkeyMobile projects with fmx forms
Project:  Delphi
Build #:  19.0.13856.4978

Source: QualityCentral
That’s why TeeChart still has most DFM files stored as binary files (again the ‘most’ word).
For version control and searching this is a pain, so normal application developers (the ones not using Delphi XE5 Update 1 for Android work) should run convert.exe with the -t (target=text) switch on DFM binary files.
Oh: this is fixed in version 19.0.13856.4978 (yes, that’s XE5 Update 2).
–jeroen
Via:

Borland Delphi 6 Developer’s Guide – Steve Teixeira, Xavier Pacheco – Google Books
DFM Converter, convert.exe – Delphi in a Nutshell [Book]
Quality Central bug 121004: [Android] MsBuild (dccAarm) error when compile FireMonkeyMobile projects with fmx forms
Update 1 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
Update 2 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
Delphi XE5 Update 2 got released last week, end-of-year Delphi XE5 offer, #CodingInDelphi book « The Wiert Corner – irregular stream of stuff

 Filed under: Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Kylix, Software Development

Comments are closed.