我有一个具有以下结构的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指出但没有运气的东西。所以现在.dpr看起来是这样的:
uses
...
SomeFile in 'Common/SomeFile.pas' {ChildFrame},
...我还在SomeFile.pas中重复检查了这一行
{$R *.DFM}我要指出的另一件事是,Build选项工作正常,但编译不起作用。
发布于 2019-05-01 15:03:43
在我看来,您的问题(至少到目前为止)是使用正斜杠而不是反斜杠。
uses
...
SomeFile in 'Common/SomeFile.pas' {ChildFrame},
......should反而是..。
uses
...
SomeFile in 'Common\SomeFile.pas' {ChildFrame},
...发布于 2019-05-01 12:28:31
您缺少了.dpr文件中的表单条目,该表单告诉IDE有一个关联的.dfm。
创建新的VCL窗体应用程序时,IDE会将以下条目写入项目文件:
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};信息是{Form1}告诉IDE查找包含表单信息的.DFM文件。您已经说过,.pas文件在您的新Common文件夹中,但是没有告诉它它也应该在那里查找一个.dfm。IDE将在项目文件夹中查找它,但在那里找不到它。直到,当然,您将其复制到项目文件夹中。:-)
将.dpr更改为
uses
...
SomeFile in 'Common/SomeFile.pas' {FormClass},将{FormClass}替换为来自SomeFile单元的表单变量的名称。
https://stackoverflow.com/questions/55932392
复制相似问题