检查您的 .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.
在这里,图标发生了变化:

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