我有一个带有此结构的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},
...