首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重组后找不到DFM

重组后找不到DFM
EN

Stack Overflow用户
提问于 2019-05-01 06:23:29
回答 2查看 299关注 0票数 0

我有一个具有以下结构的Delphi 7项目:

代码语言:javascript
复制
.dpr
foo.pas
*.pas
*.dfm
Bin/
debug/

除了一个文件之外,大多数源代码都是在其他项目之间共享的(尽管这与此无关),所以我做了一些如下所示的重组:

代码语言:javascript
复制
.dpr
UniqueFile/
    foo.pas
Common/.pas
    *.pas
    *.dfm
Bin/
debug/

我用新结构更改了.dpr中的路径,但由于某种原因试图编译时,它在Common文件夹中找不到一个.dfm文件。显示的错误是:

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

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

我错过什么配置了吗?

编辑:这个文件包含在.dpr文件中,如下所示:

代码语言:javascript
复制
uses
   ...
   SomeFile in 'Common/SomeFile.pas',
   ...

EDIT2:我只将SomeFile.dfm文件复制到根文件夹,并且正在编译。因为某种原因,它还在寻找旧路径中的文件?

EDIT3:我已经包括了@ken指出但没有运气的东西。所以现在.dpr看起来是这样的:

代码语言:javascript
复制
uses
   ...
   SomeFile in 'Common/SomeFile.pas' {ChildFrame},
   ...

我还在SomeFile.pas中重复检查了这一行

代码语言:javascript
复制
{$R *.DFM}

我要指出的另一件事是,Build选项工作正常,但编译不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-01 15:03:43

在我看来,您的问题(至少到目前为止)是使用正斜杠而不是反斜杠。

代码语言:javascript
复制
uses
   ...
   SomeFile in 'Common/SomeFile.pas' {ChildFrame},
   ...

...should反而是..。

代码语言:javascript
复制
uses
   ...
   SomeFile in 'Common\SomeFile.pas' {ChildFrame},
   ...
票数 1
EN

Stack Overflow用户

发布于 2019-05-01 12:28:31

您缺少了.dpr文件中的表单条目,该表单告诉IDE有一个关联的.dfm。

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

代码语言:javascript
复制
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

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

将.dpr更改为

代码语言:javascript
复制
uses
   ...
   SomeFile in 'Common/SomeFile.pas' {FormClass},

{FormClass}替换为来自SomeFile单元的表单变量的名称。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55932392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档