![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте! Я пытаюсь сделать ComponentEditor, в меню которого хочу создать подменю. Для этого согласно Help Delphi 7 и Delphi 2009 служит функция:
Код:
то есть AItem.AddItem(... и т.д. Однако эта функция не работает, вылетает ошибка; [DCC Error] StrGridEditor.pas(105): E2250 There is no overloaded version of 'AddItem' that can be called with these arguments. Может, кто-то знает, как можно создать подменю? Последний раз редактировалось Admin, 14.10.2016 в 21:00. |
#2
|
|||
|
|||
![]() Скорее всего ты где-то передаешь параметр не того типа. Соответсвенно, компилятор просто не может найти подходящий вариант функции.
|
#3
|
|||
|
|||
![]() Imikle, спасибо за ответ. Только я и сам понимаю, что тип параметров должен совпадать, но не могу понять, какой из них.
Const ACaption: WideString заключается в одинарные кавычки, напр. 'Пункт 1' AShortCut: TShortCut значение типа Word у меня нет клавиш быстрого доступа, поэтому равно 0; AChecked, AEnabled: Boolean значение или True или False; AOnClick: TNotifyEvent = nil пока функция, отзывающаяся на клик не определена hCtx: THelpContext = 0; Const AName: строка = ''. Может, ошибка где-то в синтаксисе, но я найти не могу, примеров нет ни в книгах, ни в Интернете. Ещё раз спасибо за ответ. |
#4
|
||||
|
||||
![]() Приводится лишь описание функции, что лежит в DesignMenus.pas, показали бы кусок с вызовом из вашего проекта
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
![]() Здравствуйте, Alegun! Вот образец моего вызова этой злосчастной функции:
Код:
|
#6
|
||||
|
||||
![]() А ведь наверное и не должна она здесь работать, поскольку AddItem это "перекрытая" не публичная функция, ею среда пользуется, а для разработчика доступны лишь
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#7
|
|||
|
|||
![]() Она работает, например, AItem.AddLine(string); сразу на третьей строке появляется чёрный треугольник, который сообщает, что этот пункт меню имеет подпункты (подпункт). Но именно AItem.AddItem не работает. А какой-то способ создания подменю есть, Дельфи же создаёт его.
|
#8
|
||||
|
||||
![]() Очхорошо, что она работает, но вот почему-то в редакторе компонентов из пакета RX для добавления пунктов меню используется не она, а примитивная AddObject, что даёт повод задуматься
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |