Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2010, 17:47   #1
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение Правильная организация системы плагинов-расширений

Здравствуйте.
Решил создать нормальную систему плагинов к своей программе.
Организую это с помощью обыкновенных DLL, загружаемых неявным
образом. Т.к. любой проект с формой весит ок. 300-400 кб,а с AlphaControls
вообще под 1 мб,выношу bpl-ки из программы,т.е. просто кладу их рядом
с программой. Получается,что использую bpl как DLL. Возможно не самый оптимальный вариант,но и не самый худший же?
Какие грабли меня ждут? Прошу описать самый худший вариант,чтобы мне так не делать.
P.S.
Ясно,что возможно,лишаюсь возможности дописывать плагины на др. ЯП,
но не тот масштаб проекта...
Темы для WordPress. Русские WordPress шаблоны

Последний раз редактировалось Alexei91; 17.09.2010 в 17:56.
Alexei91 вне форума Ответить с цитированием
Старый 17.09.2010, 18:59   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от Alexei91 Посмотреть сообщение
Ясно,что возможно,лишаюсь возможности дописывать плагины на др. ЯП
Из сказанного - не ясно.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 17.09.2010, 19:27   #3
Dimasw
Пользователь
 
Регистрация: 12.09.2010
Сообщений: 69
По умолчанию

Я в bpl не вижу минусов. Пробовал писать с dll, но как у меня коряво получалось. Применение dll давало чувство инородного предмета в программе. Все-таки bpl как то ближе к Дельфям. Я применяю в программе bpl-ядро (менеджер классов) и через него все другие классы из других Bpl обмениваются сообщениями. Метод построения по кирпичикам значительно увеличили масштабы проектов. Методику взял из http://www.delphikingdom.com/

Статья, по которой строю свои проекты:
http://www.delphikingdom.com/asp/vie...?catalogid=274

Еще статьи:
http://www.delphikingdom.com/asp/vie...?catalogid=468
http://www.delphikingdom.com/asp/vie...catalogid=1338
SELECT BEST FROM LIFE

Последний раз редактировалось Dimasw; 17.09.2010 в 19:34.
Dimasw вне форума Ответить с цитированием
Старый 26.09.2010, 15:01   #4
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от Dimasw Посмотреть сообщение
Я в bpl не вижу минусов. Пробовал писать с dll, но как у меня коряво получалось. Применение dll давало чувство инородного предмета в программе. Все-таки bpl как то ближе к Дельфям. Я применяю в программе bpl-ядро (менеджер классов) и через него все другие классы из других Bpl обмениваются сообщениями. Метод построения по кирпичикам значительно увеличили масштабы проектов. Методику взял из http://www.delphikingdom.com/
...
Подскажите пожалуйста, как Вы определяете, какие пакеты необходимы для Вашего приложения?

Поясню: когда я попытался воспользоваться пакетами у меня возникла такая проблема - даже если скинуть в папку с экзешником зависимые пакеты, которые показывает делфи, то всё равно при переносе происходит ошибка запуска приложения. А происходит она потому, что те пакеты, которые в качестве зависимых были скинуты в папку проекта, в свою очередь вызывают другие пакеты.
Т.о. процесс выяснения того, какие же пакеты нужны происходит только методом научного тыка. В моём случае, когда суммарный объём пакетов моего приложения перевалил за 20 Мб, я решил, что пора бы уже внимательно почитать про COM-объекты.

Собственно, это единственный минус, который я нашёл в пакетах, поэтому было бы полезно бы знать, как его можно обойти.

Последний раз редактировалось Greek9000; 26.09.2010 в 15:03.
Greek9000 вне форума Ответить с цитированием
Старый 26.09.2010, 18:10   #5
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

Greek9000 как вариант - аккуратней использовать сторонние наборы компонент
и библиотеки компонент;оценивать,какие плюсы я получаю используя то-то и какие
минусы.

Если Вы имеете в виду какой компонент из какой bpl-ки,то Сomponent->Install Packages. Жмёте на нужный Вам bpl и кнопку Components - выведет список компонент
из данной библиотеки. Для D7. Для D2010 не помню - по-моему тоже самое.

P.S.
В 1 фирме (не буду называть конкретно) использовали набор компонентов LMD,на LMD заменяли почти все стандартные контролы - при этом программа от этого не сильно и выигрывала... ИМХО,Delphi расслабляет - практически для всего есть компоненты,но это всё иллюзия "легкости"...

Забыл,где прочёл (вроде бы в справке Delphi) - bpl - те же DLL.

Цитата:
В моём случае, когда суммарный объём пакетов моего приложения перевалил за 20 Мб, я решил, что пора бы уже внимательно почитать про COM-объекты.
Ещё вариант расширение стандарта COM - ActiveX. В Mathcad используется
- по крайней мере построитель графиков 3D-spot. В 1C по-моему тоже.
Темы для WordPress. Русские WordPress шаблоны

Последний раз редактировалось artemavd; 26.09.2010 в 18:50.
Alexei91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Joomla. Белый лист при установке расширений BanDit WordPress и другие CMS 2 17.02.2010 20:41
создание плагинов komp324 Общие вопросы Delphi 6 17.01.2010 19:15
создание плагинов komp324 Общие вопросы Delphi 2 28.12.2009 15:44
Проверка расширений файлов spamer Общие вопросы Delphi 6 20.07.2009 02:02
Правильная организация класса для работы с таблицей mysql Choo PHP 10 08.08.2008 08:55