Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Создание контролов на форме спомощью плагинов.


Автор: ivan219 29.9.2006, 22:48
Я тут почитал темы по этойм тематике и получается что нельзя  smile всё получается как то коряво smile 

Так как мне надо на PageControle зделать вкладку а на ней разместить некоторые контролы Button,Edit, и.т.д. я думал зделать одну функцию в DLL (плагине) и чтоб они все создавались а помтом с ними работать.

Это возможно smile 

Автор: Snowy 29.9.2006, 23:21
Это возможно, если ты будешь в DLL только предоставлять информацию, а создавать в exe.
Но лучше использовать механизм bpl.
Завтра засяду за статью про bpl, но результат не гарантирую - могу не успеть и затянется...

Автор: Romikgy 29.9.2006, 23:32
Цитата(Snowy @  29.9.2006,  22:21 Найти цитируемый пост)
Завтра засяду за статью про bpl

будет очень интересно почитать smile
А вообще имхо можно поступить таким образом в длл-ке создаем форму со всеми элементами и ей присваиваем как родителя закладку
Цитата(ivan219 @  29.9.2006,  21:48 Найти цитируемый пост)
PageControle

имхо должно получится (но это только моя идея!!!!)

Автор: ivan219 30.9.2006, 08:28
Romikgy, а размер при этом увеличится в разы так как уменя этих DLL будет целая куча smile 

Snowy, буду ждать с нетерпением smile 

А какая радница между bpl и dll почему в одной можно а в другой нет smile 

И ещё вопрос а вот если я создам на форме контролы т.е. по одному Кнопку Едит и.т.д. а потом я их из под Dll смогу размножить там копированием или использовать его тип и наего основе создавать уже в dll контролы smile 

А может через WinApi smile  smile 

Автор: Snowy 30.9.2006, 10:48
Цитата(ivan219 @  30.9.2006,  08:28 Найти цитируемый пост)
А какая радница между bpl и dll почему в одной можно а в другой нет
bpl - штука более продвинутая. Он специально для того и сделан, потому что с dll такого делать недьзя smile
Естественно полную теорию я щас расписывать не буду.

Цитата(ivan219 @  30.9.2006,  08:28 Найти цитируемый пост)
а потом я их из под Dll смогу размножить там копированием или использовать его тип и наего основе создавать уже в dll контролы
Нет. У всех компонентов первый родитель обязательно TObject.
А в exe и dll он разный.

Цитата(ivan219 @  30.9.2006,  08:28 Найти цитируемый пост)
А может через WinApi
Через WinAPI всегда можно.
Но использовать, как WinAPI контролы, а не VCL.
Если хорошо разбираешься в апи - можешь попробовать. Если нет, то лучше 4 раза подумай.

Цитата(ivan219 @  30.9.2006,  08:28 Найти цитируемый пост)
Romikgy, а размер при этом увеличится в разы так как уменя этих DLL будет целая куча
Это ещё один плюс bpl - один код в одном месте, поэтому размер не увеличивается.

Автор: ivan219 30.9.2006, 11:59
Цитата

Если хорошо разбираешься в апи - можешь попробовать. Если нет, то лучше 4 раза подумай.

Втом то и дело что не разбираюсь smile может поможете smile 
А это сложный процес smile 
Мне восновном нужны (Button,Edit,Image,Label,Shape,RadioButton,GroupBox,ComboBox,ChekBox).

А bpl можно как плагины использовать т.е. чтоб в каждом bpl был свой набор компонентов smile 
А из под С++ из можно писать smile и они будут совместимы с программой написанной на Delphi  smile 
Так как я хочу зделать "Универсальную" прогу чтоб и другие на неё могли писать плагины на разных языках.

Автор: Snowy 30.9.2006, 14:52
Цитата(ivan219 @  30.9.2006,  11:59 Найти цитируемый пост)
А bpl можно как плагины использовать т.е. чтоб в каждом bpl был свой набор компонентов
Да. В данном случае можно что угодно.

Цитата(ivan219 @  30.9.2006,  11:59 Найти цитируемый пост)
А из под С++ из можно писать  и они будут совместимы с программой написанной на Delphi
Нет. Если конечно пишешь не на WinAPI.
А библиотеки разные. В C++ нет VCL. Если только это не билдер.
Но билдер норамльно работает с bpl.
Прочие C++ компиляторы - WinAPI.

Цитата(ivan219 @  30.9.2006,  11:59 Найти цитируемый пост)
Так как я хочу зделать "Универсальную" прогу чтоб и другие на неё могли писать плагины на разных языках.
Писать можно. Нельзя использовать визуальные библиотеки - у разных производителей они разные.
Исключение составляет только QT и .NET.
Ну и WinAPI разумеется...

ЗЫ. А ты уверен, что кто-то будет писать тебе плагины?
Подумай... Вероятно только ты и друзья - дельфисты.

Автор: ivan219 30.9.2006, 15:07
Цитата

ЗЫ. А ты уверен, что кто-то будет писать тебе плагины?
Подумай... Вероятно только ты и друзья - дельфисты.


Нет но всётаки такую возможность предоставить надо smile 

Автор: ivan219 3.10.2006, 21:35
Проблема решена  smile 

DLL толко управляет создаием контролов а сам код который создаёт пишется в EXE и экспортируется т.е. в Dll его можно запустить и итог появился контрол конешно немного нехватает гипкости но зато работает и DLL при этом получаются маленькие моя сейчас весит всего 46кБа.

Я уже даже полноценную прогу написал и всё работает как часы smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)