Если у действия нет обработчика OnExecute
, оно всегда отключено. Если вы хотите назначить действие объекту и включить этот объект, вам необходимо предоставить обработчик OnExecute
.
Вопрос звучит немного странно, хотя. Зачем вам кнопка, которая при нажатии ничего не делает? Возможно, у вас есть обработчик OnClick
, который определен в кнопке, а не в действии? Если это так, то вам следует просто переместить этот обработчик в действие, и все будет хорошо.
Обновление
Ульрих старательно указывает, что DisableIfNoHandler
из TAction
можно использовать для изменения поведения, описанного выше. Поскольку это общедоступно и не публикуется, вы должны внести изменения в код, поэтому я думаю, что забыл об этом.