Okay, here's another mystery:

Okay, here's another mystery:

I am getting this error:

[DCC Error] E1026 File not found: 'FindFile.res'

Only there is no reference anywhere in our codebase to FindFile.res. There is a FindFile.DPR in the Greatis demo directory, along with the appropriate FindFile.res, but I can't for the life of me see how this is getting referenced by our main EXE project.

The reason I can't find it is that I was getting a warning about duplicate resources in FindFile.RES -- the origin of the mystery -- and so I renamed FindFile.RES to FindFile.RES.bak, and now our EXE can't find it.

I don't get the duplicate Resource warning in the IDE.

Any ideas how a rogue RES file would be required by our main project?

Comments

  1. explicit include from a unit? explicitly included in project?

    ReplyDelete
  2. What happens when you rename the Greatis demo folder to make sure that project isn't in your compile path? Get Agent Ransack and search the contents of everything, including DCUs, for FindFile.res.

    ReplyDelete
  3. You surely have some fun getting automatic builds going (;
    Duplicate warning often means that the resource is already present in another resource file.

    ReplyDelete
  4. The duplicate warning doesn't mean that the file exists twice. It can as well pop up when the file is referenced twice.
    BTW, FindFile.res is referenced in Vcl.ShellAnimations.pas.

    ReplyDelete
  5. Possibly/Probably not directly related to the specific problem you mention, but an something you might want to bear in mind in respect of differences between IDE and command line builds in general (and that caused us some grief at one time) was the presence of (old) .cfg and .dof files.  For us, doing the following in the root of the source tree:

    del *.cfg /s
    del *.dof /s

    ... eliminated such discrepancies.  Everything should (ideally) come from the .dproj and .dpr etc files.

    ReplyDelete
  6. I was updating our demos and while browsing some of the units we were using I came across the resource include directive for FindFile.res. It's in Vcl.ShellAnimataions.pas as Uwe Raabe pointed out.

    Maybe the directives were in some other unit before. The resources are used by the TAnimate control and maybe you are using TAnimate in your project? I don't know why you get the error though, because, if you drop a TAnimate control on your form and run it, it will compile and run without errors, but you will not be able to select any of the standard animations. No error (achieved through weak packaging of the unit), but also no effect, until you also include Vcl.ShellAnimataions to your uses.

    ReplyDelete
  7. You guys are the best -- thanks everyone.  That we exactly it.  We had moved the Greatis version of the file over (blindly copying all the *.RES files, I guess) and didn't see the VCL one.  That solves the problem.

    Thanks again, especially to Uwe Raabe for pointing out the file.  I'm grateful.

    ReplyDelete

Post a Comment