Delphi 如何从战术经理处获得所有战术?
我的应用程序中有一个Delphi 如何从战术经理处获得所有战术?,delphi,delphi-xe,taction,tactionmanager,Delphi,Delphi Xe,Taction,Tactionmanager,我的应用程序中有一个TActionManager,其中定义了所有操作。我需要获得其所有行动的清单;目前,使用其Actions属性,我可以获取操作的“路径”(GetNamePath),但我还想获取其标题 是否可以从操作管理器获取所有操作?属性actions[]返回一个TContainedAction,它是一个低级基类。您需要将其向上转换为适当的派生类。例如,如果您的操作管理器包含TAction实例,则可以执行以下操作: for i := 0 to ActionManager1.ActionCoun
TActionManager
,其中定义了所有操作。我需要获得其所有行动的清单;目前,使用其Actions属性,我可以获取操作的“路径”(GetNamePath
),但我还想获取其标题
是否可以从操作管理器获取所有操作?属性
actions[]
返回一个TContainedAction
,它是一个低级基类。您需要将其向上转换为适当的派生类。例如,如果您的操作管理器包含TAction
实例,则可以执行以下操作:
for i := 0 to ActionManager1.ActionCount-1 do begin
Writeln((ActionManager1.Actions[i] as TAction).Caption);
end;
如果您是从TCustomAction
派生自定义动作,请在强制转换中使用该动作
显然,您可能希望使用
is
来检查操作的实际运行时类型,并避免运行时强制转换错误。Ack-我想我尝试了这个方法并得到了一些编译时警告,但可能是我做了其他错误的事情。这当然有效。非常感谢你。