Delphi XE 2 ActionList - 启用/禁用动作

Ale*_*lin 2 delphi vcl delphi-xe2

我创建了一个简单的应用程序,其中包含: - 主窗体 - 主菜单 - 操作列表

操作列表由三个操作组成:一个标准 - 退出,两个特定 - 1. 连接到数据库和 2. 计费。

为了防止在连接到数据库之前进行计费操作,我为 billing = false 设置了“启用”属性。

连接动作事件 (OnExecute) 我链接到这个过程:

procedure TForm1.ConnectActionExecute(Sender: TObject);
begin
  ConnectAction.Enabled := false;
  BillingAction.Enabled := true;
  StatusBar1.Panels[0].Text := 'DB Status: Connected';
end;
Run Code Online (Sandbox Code Playgroud)

但是在触发此操作后 ConnectAction 变为禁用状态,但 BillingAction 继续保持禁用状态。请指出我的错在哪里?

Uwe*_*abe 5

您是否有连接到 BillingAction 的 OnExecute 事件?禁用没有 OnExecute 事件的操作是标准行为。

更新:您可以使用操作的DisableIfNoHandler属性来控制它。