如何在 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}
在编译 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}