#1 31.01.06 18:44
Кто писал плагины. Вопрос.
Есть плагин, который работает с програмой через COM. Как создать отдельное диалоговое окно? Добавить его в проект при написании плагина, а потом просто сделать видимым для нужных действий? Или создавать окно в процессе работы, прежде написав ручками расположение всех его элементов и их свойств? Такой подход уж слишком трудоемким мне кажется.
Что предложите?
Offline
#2 09.02.06 20:26
Re: Кто писал плагины. Вопрос.
ну, плагин - это просто dll библиотека (или so под линух)... как правило, ты экспортишь из нее не функции, а класс, который содержит все необходимые функции... твоя задача: экспортировать класс окна, и функцию, которая возвращает создаваемый объект окна.... примерно так(это на CBuilder6):
Код: C:
/* в .cpp файле самой длл */ TMyForm * create_instance(TComponent*Owner) { return new TMyForm(Owner); }
Код: C:
/* в .h файле длл */ #ifdef __DLL__ # define DLL_EXPORT __declspec(dllexport) #else # define DLL_EXPORT __declspec(dllimport) #endif DLL_EXPORT THistForm * create_instance(TComponent *);
потом, в программе, которая подгружает плагин делаешь вызов:
Код: C:
/* вставка в функцию кнопки или пункта меню */ TMyForm *MyForm = create_instance(this); if(MyForm->ShowModal()==mrOk) return; delete MyForm;
Offline

