Посоветуйте что делать с пакетами

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Посоветуйте что делать с пакетами

Сообщение PVR » 15.07.2008 22:24:17

Есть довольно внушительный проект на Delphi. Этот проект исполбзует пакеты времени выполнения. Всего в процессе загрузки проект цепляет сейчас около 60 таких пакетов ввиду специфики работы данного проекта эти пакеты (все кроме 4 основных) загружаются динамически через LoadPackage. Насколько я смог понять FreePascal не держит таких пакетов (но может я и ошибаюсь) ? Как бы там ни было имел ли кто опыт переноса таких проектов в fpc ? Может у кого есть какие рецепты!
PVR
незнакомец
 
Сообщения: 1
Зарегистрирован: 15.07.2008 22:12:09

Re: Посоветуйте что делать с пакетами

Сообщение Vadim » 16.07.2008 05:57:27

Только чисто теоретические соображения. :)
Если функции из этих пакетов кроме Вашей программы одновременно будет использовать и какая-то другая программа, то целесообразнее функции из пакетов написать в DLL'ке, чтобы не загружать память компьютера.
Если же нет, т.е. функции из пакетов использует только Ваша программа, то вопрос о пакетах вообще не имеет какого либо смысла. Просто переносите все функции в Ваш код и структурируйте их так, как Вам больше нравится.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Посоветуйте что делать с пакетами

Сообщение Bupyc » 16.07.2008 11:09:00

Имею опыт переноса подобного проекта из Delphi в FPC. Правда у меня не 60 пакетов, но счёт тоже идёт на десятки. После долгих размышлений, пришёл к выводу, что для меня будет не критичным, если весь код будет компоноваться в единый исполняемый файл. Конечно, в этом случае я потерял гибкость при компоновке и "горячей" замене функционала программы в ран-тайм режиме. Но для меня это не сильно страшно, т.к. что будет нужно заказчику, известно, как правило, заранее.
Bupyc
постоялец
 
Сообщения: 137
Зарегистрирован: 29.08.2007 18:22:42

Re: Посоветуйте что делать с пакетами

Сообщение alexs » 16.07.2008 20:09:51

Bupyc
Я пошёл дальше - структура кода по разбиению на пакеты оставил - изменил только способ регистрации модулей - раньше моджуль регистрировался в момент загрузки пакета (из пакета дёргалась спец. функция) - теперь регистрация модуля просто происходит в статичном виде - подлючается нужный файл исходника паскаля, из которого уже и совершается регистрация тогоже модуля. А код функционала вобще переделывается только в разрезе отличий дельфина от лазаря.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Посоветуйте что делать с пакетами

Сообщение Bupyc » 17.07.2008 12:07:20

alexs

У меня примерно то же самое, только функция дёргается не из пакета, а пакет при загрузке из секции initialization в соответствующем юните вызывает функцию регистрации, которая находится в ядре разработки. При компиляции под FPC функциональное наполнение приложения определяется тем, что прописано в секции uses
Bupyc
постоялец
 
Сообщения: 137
Зарегистрирован: 29.08.2007 18:22:42

Re: Посоветуйте что делать с пакетами

Сообщение alexs » 17.07.2008 20:07:37

Тут просто что-то каринально новое изобрести трудно :D
Лазарь точно также построен.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Посоветуйте что делать с пакетами

Сообщение Bupyc » 17.07.2008 23:19:08

По-идее можно было бы в сторону dll или их аналогов посмотреть, но только как то грустно становится, особенно когда начинаешь думать о том, как, например, один класс от другого в разных dll занаследовать. И это только один из многих моментов, из-за которых репу приходится чесать, когда думаешь как быть с модульностью при переходе с дельфей на fpc.
Bupyc
постоялец
 
Сообщения: 137
Зарегистрирован: 29.08.2007 18:22:42


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru