var
NewAction : TAction;
begin
NewAction := TAction.Create(self);
NewAction.ActionList := ActionList1;
end;
Автор ответа: Dayana
Программный код, который вы предоставили, создает новый объект TAction и пытается добавить его в список ActionList. Однако, объект NewAction должен быть добавлен в список ActionList в runtime.
Чтобы достичь этого, можно использовать метод Add() списка ActionList. Вот модифицированный код:
var
NewAction: TAction;
begin
NewAction := TAction.Create(self);
NewAction.ActionList := ActionList1;
ActionList1.Add(NewAction); // Добавить новый объект в список в runtime
end;
Повторяю, вызов Add() для ActionList1 добавляет созданный ранее объект NewAction в список.
Обратите внимание, что self ссылается на текущий объект, который, вероятно, является формой или контролем. Если вы хотите добавить действие в другой список действий, убедитесь, что правильно назначаете список действий для NewAction.ActionList.
Добавление действия в список действий runtime-акции в Delphi происходит с помощью создания нового экземпляра класса TAction, его инициализации и назначения свойства ActionList.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS