Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Динамическое меню и панели инструментов...   Найти похожие ветки 

 
AlexG ©   (2004-06-13 16:19) [0]

Плохо себе представляю, как осуществить следующее. У меня есть главная форма. В DLL хранится дочернее окно, осуществляющее некоторые функции. Для удобства пользователя мне нужно вывести эти функции в панель инструментов и в меню. Но появиться эти элементы должны только в случае открытия дочерней формы. Так вот. Где мне хранить эту панель инструментов? И где хранить элементы меню? Пока напрашивается такой подход: я храню это все в главной форме, но процедуры обработки описаны в DLL; когда я открываю дочернее окно, то мои динамические элементы становятся видимыми, а когда закрываю окно - я их прячу. Правилен ли будет такой подход? Может нужно хранить эти элменты в DLL? Но тогда я не представляю как их вставлять в главную форму...
Пожалуйста, помогите разобраться с этой проблемой.


 
AlexG ©   (2004-06-14 00:11) [1]

Странно. Никто не занимался дизайном меню?


 
GuAV ©   (2004-06-14 01:13) [2]


> Но тогда я не представляю как их вставлять в главную форму...

Запросто. Виртуальные конструкторы. Процедурные типы в качестве параметров dll. Передача длл-ке класса формы (var Form1: TForm1 имеется ввиду). Не понимаю, в чём могут быть трудности...
зы - не забудь про коментарий "по dll-wizard"


 
Cobalt ©   (2004-06-14 01:16) [3]

Первое, что приходит на ум - использовать интерфейсы.
Типа как плагин - загружаешь длл-ку, получаешь её "интерфейс".
Он отвечает за окно, за панельки и т.п.

Интерфейс - потому что оторван от реализации, не надо будет описывать (именно) его в основной проге. Я так понимаю, что он скрывает конкретную реализацию в смысле на уровне типа класса не будет таких несостыковок, как: Описал в проге класс-родитель, в ДЛЛ-ке - класс-наследник. Используешь в проге наследника - получаешь AV.


 
Cobalt ©   (2004-06-14 01:19) [4]

Кстати, мой способ "лучше", чем у GuAV ©   тем, что позволит писать такие плагины на любом языке и в любой версии Дельфи, а не только в той, что написана твоя прога.
Правда, за это придётся платить - изучать COM-технологию.


 
GuAV ©   (2004-06-14 01:29) [5]


> Кстати, мой способ "лучше", чем у GuAV ©  

Я не называл конкретного способа, а просто начал перечислять различные возможности :) Но твой лучше без кавычек. А ещё лучше - взаимодействие через хендлы и мессаги - привязка не к Дельфи а к WinAPI, который не зависит от языка и совместим с другими версиями себя.


 
default ©   (2004-06-14 01:37) [6]

"Правда, за это придётся платить - изучать COM-технологию."
её изучать одно удовольствие


 
AlexG ©   (2004-06-14 10:52) [7]

В общем, такой вывод напрашивается: без COM-технологии нормальное меню не сделать. Так?
Спасибо за помощь. :)



Страницы: 1 вся ветка

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
1-1086827838
vasko
2004-06-10 04:37
2004.06.27
Выполнение процедур из другого приложения


1-1087196790
Uran
2004-06-14 11:06
2004.06.27
Элемент ListBox


14-1086614358
ikivio
2004-06-07 17:19
2004.06.27
Поразительно !!!


4-1082477291
Eugene Mosyagin
2004-04-20 20:08
2004.06.27
Работа с LPT под WInNT


14-1086803093
Vasya.ru
2004-06-09 21:44
2004.06.27
Баттон в виде рычага