1
votes

Has anyone succeeded to compile a Win32 GUI app with the command line dcc32.exe compiler, under 64-bit Windows Vista, without installing Delphi 2009? On our system it fails, with a message that the DFM files contain unknown 16-bit resources. This is usually an indication that the DFM files cannot be read. It works perfectly on all 32-bit Vista and Windows XPs, that we tried.

I am asking, because we want to ensure that we can rebuild our current exe files later, if needed, so even if we all switch to 64-bit OSes in the future, we want to be able to rebuild the old 2009 versions.

3
I have seen similar message with Delphi 5 when the lnkdfm50.dll was not in the bin directory. I would run the build under depends.exe (MSFT Dependency Walker) or one of the SysInternals tools first, to check that all necessary DLLS (even those that are dynamically loaded) are there.mghie
Without installing Delphi? Why would you put that restriction on yourself?Rob Kennedy
For Rob: We want to ensure, that we can compile the source code in the future, even if Delphi 2009 should not be able to install itself on the future Windows versions.Lars D
Adding lnkdfm120.dll solved the problem, thanks :-)Lars D
@Lars: Well, then you should probably add an answer to explain how to make it work, and accept it. People with the same problem who find this question will not necessarily read the comments. Since Delphi runs this brain-dead activation scheme there may be a time when people will need to run the compiler this way.mghie

3 Answers

2
votes

With Delphi 2009 you should use msbuild to commandline compile your projects (msbuild YourProject.dproj). Be sure to do this from the RAD Studio commandprompt. This ensures some environment variables are set. Does this solve your problem?

1
votes

Adding lnkdfm120.dll solved the problem.

0
votes

Yes, we are performing console builds via dcc32 through nant in both Vista 64-bit and Windows 2008 64-bit. You may have to deal with some path issues the (X86) if you installed to the default location (we do not to remove these types of dependencies).