我的应用程序(在 Delphi 7 上编写)在 Windows XP SP3 上正确运行,但是当我尝试在 Windows 7 上运行它时,会发生此异常:
带有消息“Invalid ImageList”的 EInvalidOperation
这是主要的应用程序代码:
Application.Initialize;
tmpSplash.GoNextMsg;
Application.CreateForm(TdmImages, dmImages);
tmpSplash.GoNextMsg; // Collegamento database
Application.CreateForm(TdmCharter, dmCharter);
tmpSplash.GoNextMsg; // Caricamento immagini
Application.CreateForm(TfrMain, frMain);
tmpSplash.GoNextMsg; // init: Anagrafica
frameAnagrafica := TframeAnagrafica.Create(Application);
tmpSplash.GoNextMsg; // init: Flotta
frameFlotta := TframeFlotta.Create(Application);
//Application.CreateForm(TframeFlotta, frameFlotta);
...
...
dmImages 模块已正确创建,例如 frMain,但是何时创建对象 frameAnagrafica 然后在构造函数方法上引发异常:
type
TframeAnagrafica = class(TMyCustomFrame)
...
...
{$R *.dfm}
constructor TframeAnagrafica.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;
还有 TframeAnagrafica 的“超类”:
TMyCustomFrame = class(TFrame)
...
...
{$R *.dfm}
constructor TMyCustomFrame.Create(AOwner: TComponent);
begin
inherited Create(AOwner); <-- Exception here
end;
在windows XP 下没问题,但是使用windows 7 就出现问题了。我该如何解决这个问题?