ActionList及Action使用

https://blog.csdn.net/adamrao/article/details/7450889

ActionList:用于管理程序中的Action

Action:可用于管理程序中控件的状态

 

当Action与某一控件相关联时(假定相关联控件为button),button的相关属性的值和对应事件会自动转变为Action中设定的属性值和相应的事件。此处需要特别注意的是Action的OnUpdate和OnExecute事件:

OnUpdate:当程序空闲时会运行该事件,所以在该事件中我们可以控制button控件的状态,比如enable、disable等.但应通过action来控制,比如action.enabled:=true;若直接通过控件来控制,比如button.enabled:=true,可能无法得到预想的效果.

OnExecute:该事件会替换button的OnClick事件。此处一定要牢记的是OnClick中的代码一定要写在OnExecute中, 否则点击button时可能没有响应。这可能是因为当Action与button关联后button的OnClick事件自动对应为 Action的OnExecute事件,而OnExecute事件为空,所以点击button没有响应。这里与delphi的帮助文档有出入。

在做快速实施部署工具和快速配置管理工具时由于没有注意以上两点,搞得后来不得不修改程序,希望以后引以为戒。