我是Delphi XE7中的新手,得到了一个项目并尝试构建它,但它给出了错误,如
未声明的标识符'图像'
在行..
(TContainedAction(Action).ActionList.Images.Draw(ACanvas, GlyphRect.Left, GlyphRect.Top)
和
TContainedAction不包含名为“image”的成员。
请帮我解决问题。
答案 0 :(得分:1)
错误很容易理解。您的代码正在搜索的范围中未定义任何变量或成员。
未声明的标识符'图片'
TContainedAction.ActionList
的类型为TContainedActionList
。 TContainedActionList
没有名为Images
的成员。因此错误。
您需要将TContainedActionList
引用向上转换为具有您要查找的成员的类型。我不知道那种类型是什么,因为除了问题之外,我无法看到你的任何代码。也许施放到TActionList
就足够了。
你正在使用未经检查的强制转换来玩火。使用运行时检查的强制转换,以便您查明是否出错。
uses
System.Actions, Vcl.ActnList;
....
var
ActionList: TActionList;
....
ActionList := (Action as TContainedAction).ActionList as TActionList;
// now you can refer to ActionList.Images;
有一点不清楚,为什么你需要施放Action
。由于我们不知道Action
是什么,我们无法建议,除了评论所有这些演员都感到奇怪。
TContainedAction不包含名为' image'
的成员
此错误消息与问题中的任何代码都不匹配。