我想知道是否有一种方法可以在TActionManager中迭代TActions,而不需要i:= 0的经典.但是在代码中使用迭代器,如
for (action in actionManager.actions) do
begin
...
end;它不起作用。我试了很多次,结果总是一样。
是不可能还是我做错了什么?
谢谢!M.
发布于 2013-03-14 11:22:13
操作管理器提供的枚举数提供类型为TContainedAction的操作。它由操作管理器类提供,以便您可以直接枚举操作管理器。您的代码试图在ActionManager.Actions上迭代,这是不可能的,因为Actions是一个索引属性。你不能重复其中的一个。
因此,您的代码需要如下所示:
var
Action: TContainedAction;
....
for Action in ActionManager do
begin
....
end;如果要访问在as后代中声明的属性,则可能需要使用TContainedAction进行向上强制转换。
https://stackoverflow.com/questions/15407494
复制相似问题