Как перехватить выполнение метода Execute TAction?
// Это делается при помощи TApplicationEvent в обработчике ActionExecute.
procedure TForm1.ApplicationEvents1ActionExecute(Action: TBasicAction;
var Handled: Boolean);
begin
if Assigned(Action) then
begin
// Проверяем, задано ли имя объекта Action
if Action.Name <> '' then
ShowMessage( '# CM_ACTIONEXECUTE Action.Name = ' +Action.Name + #10#13+
'Action.Owner.ClassName = ' + Action.Owner.ClassName );
// Если нужно запретить выплнение Action, то Handled := True,
// иначе Handled := False
Handled := False;
end;
end;
|