3

我的 Delphi XE 应用程序几天前都很好,但我不知道出了什么问题。我的项目布局:

  • 可视化控件位于主窗体上
  • 这些控件的操作和图像列表位于数据模块上

当我打开我的项目时,主窗体没有与任何控件关联的任何图像或操作,即使它们应该是。当我编译时,我收到错误消息:“模块'winMain'链接到模块'modGeneral',在当前项目中找不到。你想删除/重定向到另一个模块的链接吗?”。

解决方法:在我打开项目后关闭主窗体,然后在 IDE 中通过在项目管理器中双击它来打开模块(是的,它存在于当前项目中),然后重新打开主窗体形式:我所有的动作和图像现在都正确显示了。

你怎么看,这是一个已知的 Delphi 错误吗?我的项目有问题?

4

2 回答 2

7

检查您的 .dpr 文件。重现问题的一种方法是更改​​其中的 uses 子句。考虑这个工作正常的例子:

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {DataModule2: TDataModule};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TDataModule2, DataModule2);
  Application.Run;
end.

对于带有 dfm 的模块,项目管理器中的图标看起来和往常一样:

项目经理截图1

如果您删除评论,或将其注释掉:

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas'; // {DataModule2: TDataModule};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TDataModule2, DataModule2);
  Application.Run;
end.

在这里,图标发生了变化:

项目经理截图2

...你会得到你描述的错误。您需要关闭并重新打开项目才能使更改生效。

于 2011-09-14T15:29:21.523 回答
0

TOndrej 的回答是完整且正确的。我只有一个小补充,我可能应该发表评论,但我担心它不会引起注意。在单元重命名和项目文件重构之后,我遇到了所描述的错误(实际上我in从部分中删除了所有的和注释uses)。我在使用部分返回了所需的模式,但仍然出现错误。我的错误是我在使用部分的评论中添加了对齐:

DMMain     in 'DMMain.pas'     {fdmMain    : TDataModule},
DMIndex    in 'DMIndex.pas'    {fdmIndex   : TDataModule},

令人惊讶的是它真的很重要。删除对齐

DMMain     in 'DMMain.pas'     {fdmMain: TDataModule},
DMIndex    in 'DMIndex.pas'    {fdmIndex: TDataModule},

修复了错误,我得到了工作。

于 2014-05-03T10:01:02.243 回答