重组后找不到DFM



我有一个带有此结构的Delphi 7项目:

.dpr
foo.pas
*.pas
*.dfm
Bin/
debug/

除一个文件外,大多数源代码在其他项目之间共享(尽管这是无关的(,因此我进行了一些看起来像这样的重组:

.dpr
UniqueFile/
    foo.pas
Common/.pas
    *.pas
    *.dfm
Bin/
debug/

我将.dpr中的路径与新结构更改为新结构,但是当我出于某种原因尝试编译时,它找不到Common文件夹中的.dfm文件之一。显示的错误是:

[Error] File not found: 'SomeFile.DFM'

但是,.pas和相应的.dfm都在该文件夹中。

我是否错过了一些配置?


编辑:此文件包含在.dpr文件中,例如:

uses
   ...
   SomeFile in 'Common/SomeFile.pas',
   ...

edit2:我仅将somefile.dfm文件复制到根文件夹中,并且正在编译。由于某种原因,它仍在旧路径中寻找该文件?

edit3:我包括 @ken-White指出的内容,但没有运气。所以现在.dpr看起来像:

uses
   ...
   SomeFile in 'Common/SomeFile.pas' {ChildFrame},
   ...

我还仔细检查了SomeFile.pas中的这一行:

{$R *.DFM}

我应该指出的另一件事是,构建选项可以正常工作,但不正常。

您错过了.dpr文件中告诉iDE的表单的条目

创建新的VCL表单应用程序时,IDE将以下条目写入项目文件:

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

信息是{Form1}告诉IDE寻找包含表单信息的.DFM文件。您已经说过,.pas文件位于您的新Common文件夹中,但没有告诉它也应该在其中寻找.dfm。IDE改为在项目文件夹中寻找它,并且在那里找不到它。当然,直到您将其复制到项目文件夹中。: - (

更改您的.dpr读取

uses
   ...
   SomeFile in 'Common/SomeFile.pas' {FormClass},

SomeFile单位的form变量的名称替换{FormClass}

对我来说,您的问题(至少到目前为止(是您正在使用前向斜线而不是后斜线。

uses
   ...
   SomeFile in 'Common/SomeFile.pas' {ChildFrame},
   ...

...应该是...

uses
   ...
   SomeFile in 'CommonSomeFile.pas' {ChildFrame},
   ...

最新更新