如何在 Delphi 中包含 Vcl.ImgList

How to include Vcl.ImgList in Delphi

在编译 Delphi 2007 项目时,我收到以下错误:

E203: Undeclared identifier: TChangeLink

这似乎属于 Vcl > ImgList 图书馆。

我有限的理解是 Vcl 是本机 Delphi 库的一部分。如何验证它是否被正确引用?

这是因为 ImgList 不在您的 uses 子句中。根据您在评论中提供的信息,

uses contains this line:

Clipbrd{$IFDEF DELPHI4}, ImgList {$ENDIF}, dxCommon{$IFDEF DELPHI6}, Variants{$ENDIF}

是因为{$IFDEF DELPHI4}排除了它,大概是因为DELPHI4没有定义。这通常是由于使用开源或商业组件集中的代码引起的,这些组件集使用这些版本定义来支持具有相同来源的多个 Delphi 版本。 (这通常在某种 .INC 文件中完成;Jedi 使用 JEDI.INC,例如,用于为各种编译器和 IDE 相关差异定义的所有版本。)

最好的解决方案(保持跨版本兼容性)是更新定义以包含 Delphi 2007,但我无法就如何操作提供建议,因为我不知道在哪里定义位于。如果您不需要担心 IDE/compiler.

的早期版本,另一种方法是从 uses 子句中删除 {$IFDEF DELPHI4}