Вопрос № 177405: Доброго времени суток, Уважаемые Эксперты появился серьезный проект - мегабайт на десять исходного кода и 20и-30и форм не хочется каждый раз подключать формы и компилировать проект - так как можно нечаяно внести ошибки в уже готовый код - е...
Вопрос № 177405:
Доброго времени суток, Уважаемые Эксперты появился серьезный проект - мегабайт на десять исходного кода и 20и-30и форм не хочется каждый раз подключать формы и компилировать проект - так как можно нечаяно внести ошибки в уже готовый код - есть идея собирать отдельные формы и динамически добавлять их в строку меню - что-то вроде плагинов которые будут работать с предыдущими - а значит известными- формами подскажите как организовать передачу этих самых пунктов меню в начальную форму . заранее
Благодарю С уважением, gRemm
Отправлен: 22.03.2010, 01:46
Вопрос задал: gRemm, 3-й класс
Всего ответов: 2 Страница вопроса »
1. Создаем dll библиотеку, в которой располагаем нужные нам функции и формы. Там же пишем функцию которая будет передавать основной программе наименование пунктов меню. 2. Создаем в основной программе
функцию, которая подгружает dll из определенной директории и при помощи свойства Items TMainMenu, добавляет пункты меню. Пунктам меню в событие onclick присваиваем выполнение нужных функий из dll.
Ответ отправил: Лысенков Антон Анатольевич, Студент
Ответ отправлен: 22.03.2010, 09:17
Номер ответа: 260298
Оценка ответа: 3 Комментарий к оценке: Спасибо за старание, но у меня не получилось, ...хотя я следовал "подробному" описанию ...
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 260298
на номер 1151 (Россия) |
Еще номера »
Отвечает Delph, Практикант :
Здравствуйте, gRemm. Вне зависимости от того, станете ли Вы работать с плагинами, может оказаться полезным и такой подход. Выделяете в вашем проекте подзадачи. Если среди них есть схожие по смыслу и структурам данных, можно для них написать один обработчик, которому передаёте уточняющую информацию. Форма подстраивается под конкретную подзадачу и решает её. Конечно, написание модуля такой формы займёт существенно больше времени, чем в простейшем случае, но когда одна форма начнёт обслуживать полтора-два
десятка схожих подзадач, Вы в полной мере оцените преимущества такого подхода. Далее. Некоторые из пунктов меню можно сделать неактивными (свойство Enabled) или невидимыми (Visible). При выполнении определённых Вами условий (например, когда пользователь открыл документ) нужные пункты можно активировать. Это проще, чем динамически менять состав меню, хотя в ряде случаев всё же придётся использовать динамические решения.
----- Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph, Практикант
Ответ отправлен: 22.03.2010, 10:03
Номер ответа: 260301
Оценка ответа: 3 Комментарий к оценке: извините, но вы не ответили на вопрос ваш ответ скорее является дополнительным советом и никак не относится к решению вопроса ps я делаю именно так как вы и описали - но я стараюсь написать универсальные формы, которые можно будет подключать к будущим задачам - меня не устраивает лишь то что нужно вручную прописывать строку меню, вставлять в нее код на исполнение и перекомпилировывать проект
заново...
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 260301
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.