Я использую следующий метод для создания ActionClient с действием во время выполнения.
procedure TMainForm.AddToProjectHistory(Path: string);
var
NewOption: TAction;
ActionClient: TActionClientItem;
begin
NewOption := TAction.Create(self);
NewOption.ActionList := ActionManager1;
NewOption.Caption := Path;
NewOption.OnExecute := ProjectHistoryExecute;
ActionClient := TActionClientItem(aToolBarFile.ActionClient.Items[0].Items.Add);
ActionClient.Action := NewOption;
ActionClient.Caption := Path;
end;
Это прекрасно работает, если в списке уже есть элемент, но совсем не работает, если нет
например. если я добавлю элемент во время разработки, тогда я могу добавить больше элементов во время выполнения
Но если я ничего не добавляю во время разработки, нет раскрывающегося списка для отображения списка элементов, после добавления элементов раскрывающийся список не появляется.
Этого не нужно делать с Действиями, но остальная часть системы меню использует действия, и я не думаю, что могу добавить стандартные MenuItems в выпадающий список действий.
Delphi 2005