我的Delphi XE应用程序很好,直到几天,我无法弄清楚出了什么问题。我的项目布局:
当我打开我的项目时,主表单没有任何与任何控件关联的图像或操作,即使它们应该是。当我编译时,我得到错误消息:“模块'winMain'链接到模块'modGeneral',这在当前项目中找不到。你想删除/重定向到另一个模块的链接吗?”。
解决方法:在我打开项目后关闭主窗体,然后在项目管理器中双击它,在IDE中打开模块(是的,它出现在当前项目中),然后重新启动打开主窗体:现在可以正确显示我的所有动作和图像。
你怎么看,这是一个已知的Delphi漏洞?我的项目有问题吗?
答案 0 :(得分: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:
的模块一样
如果您删除评论或将其注释掉:
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.
此处,图标已更改:
...你得到了你描述的错误。 您需要关闭并重新打开项目才能使更改生效。
答案 1 :(得分: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},
修正错误,让事情有效。