我想重复的动作,如果有一种方法,通过TActions在TActionManager迭代没有了传统的我:对...但在代码中使用迭代器= 0像德尔福XE2:在TAcionManager对象
for (action in actionManager.actions) do
begin
...
end;
它不起作用。 我试了很多,总是有相同的结果。
是不可能的或我做错了什么?
谢谢! M.
我想重复的动作,如果有一种方法,通过TActions在TActionManager迭代没有了传统的我:对...但在代码中使用迭代器= 0像德尔福XE2:在TAcionManager对象
for (action in actionManager.actions) do
begin
...
end;
它不起作用。 我试了很多,总是有相同的结果。
是不可能的或我做错了什么?
谢谢! M.
动作管理器提供的枚举器提供的动作类型为TContainedAction
。它由动作管理器类提供,以便您可以直接枚举动作管理器。你的代码试图迭代ActionManager.Actions
,这是不可能的,因为Actions
是一个索引属性。你不能遍历其中的一个。
所以,你的代码需要看起来像这样:
var
Action: TContainedAction;
....
for Action in ActionManager do
begin
....
end;
您可能需要使用as
如果要访问在的TContainedAction
后裔声明的属性上投地。
谢谢!我已经试过这种方式,但我用“for(在MainActionManager中的动作)做”和德尔福没有编译,因为括号。 – shaman74 2013-03-15 11:36:08
当你说什么“不起作用”时,如果你解释它不工作的方式会有帮助。有时这些信息是有帮助的。 – 2013-03-14 14:10:20
对不起,我的意思是“它不能编译”。命令“for(在MainActionManager.Actions中的操作)”引发编译器错误“E2029'['expected but''''发现' – shaman74 2013-03-15 11:31:56