FB 700/Delphi 2010 - Update Project Settings File changes DProj File Format

Configuration: FB 7.0.0.605/Windows XP SP3/Delphi 2010 Professional (all Updates and Hotfixes installed)

It seems that some Delphi Project files have the file format UTF-8 as a default. We found Project.dproj/.dproj.local/.dsk. Maybe there are some other files affected. It seems also that there is no option in the Delphi IDE to change it or set a default for this files. 
For other files (.dpr/.pas/.inc/...) the file format is ANSI as a default but can also be UTF-8. The UTF-8 files are marked with a corresponding BOM.

If you now use the "Build Delphi Win32 Project" for Delphi 2010 with the options "Update Project Settings File with version info" the file format of the Project.dproj is changed from UTF-8 to Ansi or Text-only after running the build (for options see attached document).

This is a big mess because it is not possible to make an automatic checkin into version control. The individual versions of the files are not comparable/mergable anymore in a useful way. For an automatic build process the files are destroyed for this moment.

 

 

You can "repair" project files if you open them in the Delphi IDE, make changes in the project options and save the file again. But this is not practical in an automatic build process. We think the file format of the Delphi have to be preserved also after changes from the build.

We need a workaround or another solution urgently.

Regards,
Thomas

 

 

 

Fb700_D2010_error.zip (73.477 KB)

Hi Thomas

Thanks for the report. This is an issue with the mxml parser not writing a BOM, and with delphi not setting an encoding attribute on the dproj file (this is typical of the msbuild xml file format). I have updated our code so that it always writes a UTF8 BOM when saving the dproj. I’ll post here when a build with the fix is available.

Here’s the fix : https://www.finalbuilder.com/downloads/finalbuilder/aex6/FB700_639.exe

The fix is running. The file format is UTF-8 before and after running a build with FinalBuilder.

There is a small issue left.
The Delphi XML formatting in the .dproj file is different from the FinalBuilder XML formatting. We don't found any deeper information about this file format and how it is build. But we think this issue can be adressed for a later version if needed.

Merge into version control is ok. But one has to pay attention on manual compare with version control. Here a tool is needed which can ignore blanks on compare. Compare tools without this functionality like the MS Source Control standard tool give crude results which are not usable.