Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does the Delphi compiler create a file named 'c' during a build of a specific project?

When I build my project and the main form is open (fairly large, dozens of components of all kind), the build process creates a file named 'c' in the project folder.
The file is empty.
If I close the main form in the IDE, the build process doesn't create that file.

How can I find out what causes this and why does the compiler care which files are open in the IDE at the moment a build is started?

like image 805
Holgerwa Avatar asked Jul 06 '10 10:07

Holgerwa


2 Answers

If you have CnWizard installed, then this tool is creating the empty c files. Regarding there homepage, this is already fixed in the beta version. Need to wait until that version is released.

CnWizard Forum

like image 175
markus_ja Avatar answered Nov 15 '22 08:11

markus_ja


I think one of your components (probably third party) has custom streaming code (defineproperties and the like), and generates this file as a non-standard tempfile.

If the form is open, the file is mutated, so when compiling the form is streamed from .dfm to .res and going through the designtime code of that component which creates the file.

Easiest way to figure out is to start removing components in a copy of the project till the behaviour goes away. Then try to dig in the corresponding designtime code if you can find the culprit.

like image 45
Marco van de Voort Avatar answered Nov 15 '22 08:11

Marco van de Voort