Страница 1 из 1
		
			
				Посоветуйте что делать с пакетами
				
Добавлено: 
15.07.2008 22:24:17 PVR
				Есть довольно внушительный проект на Delphi. Этот проект исполбзует пакеты времени выполнения. Всего в процессе загрузки проект цепляет сейчас около 60 таких пакетов ввиду специфики работы данного проекта эти пакеты (все кроме 4 основных) загружаются динамически через LoadPackage.  Насколько я смог понять FreePascal не держит таких пакетов (но может я и ошибаюсь) ? Как бы там ни было имел ли кто опыт переноса таких проектов в fpc ? Может у кого есть какие рецепты!
			 
			
		
			
				Re: Посоветуйте что делать с пакетами
				
Добавлено: 
16.07.2008 05:57:27 Vadim
				Только чисто теоретические соображения. 

Если функции из этих пакетов кроме Вашей программы одновременно будет использовать и какая-то другая программа, то целесообразнее функции из пакетов написать в DLL'ке, чтобы не загружать память компьютера.
Если же нет, т.е. функции из пакетов использует только Ваша программа, то вопрос о пакетах вообще не имеет какого либо смысла. Просто переносите все функции в Ваш код и структурируйте их так, как Вам больше нравится.
 
			
		
			
				Re: Посоветуйте что делать с пакетами
				
Добавлено: 
16.07.2008 11:09:00 Bupyc
				Имею опыт переноса подобного проекта из Delphi в FPC. Правда у меня не 60 пакетов, но счёт тоже  идёт на десятки. После долгих размышлений, пришёл к выводу, что для меня будет не критичным, если весь код будет компоноваться в единый исполняемый файл. Конечно, в этом случае я потерял гибкость при компоновке и "горячей" замене функционала программы в ран-тайм режиме.  Но для меня это не сильно страшно, т.к. что будет нужно заказчику, известно, как правило, заранее.
			 
			
		
			
				Re: Посоветуйте что делать с пакетами
				
Добавлено: 
16.07.2008 20:09:51 alexs
				Bupyc
Я пошёл дальше - структура кода по разбиению на пакеты оставил - изменил только способ регистрации модулей - раньше моджуль регистрировался в момент загрузки пакета (из пакета дёргалась спец. функция) - теперь регистрация модуля просто происходит в статичном виде - подлючается нужный файл исходника паскаля, из которого уже и совершается регистрация тогоже модуля. А код функционала вобще переделывается только в разрезе отличий дельфина от лазаря.
			 
			
		
			
				Re: Посоветуйте что делать с пакетами
				
Добавлено: 
17.07.2008 12:07:20 Bupyc
				alexs
У меня примерно то же самое, только функция дёргается не из пакета, а пакет при загрузке из секции initialization в соответствующем юните вызывает функцию регистрации, которая находится в ядре разработки. При компиляции под FPC функциональное наполнение приложения определяется тем, что прописано в секции uses
			 
			
		
			
				Re: Посоветуйте что делать с пакетами
				
Добавлено: 
17.07.2008 20:07:37 alexs
				Тут просто что-то каринально новое изобрести трудно  
 
 Лазарь точно также построен.
 
			
		
			
				Re: Посоветуйте что делать с пакетами
				
Добавлено: 
17.07.2008 23:19:08 Bupyc
				По-идее можно было бы в сторону dll или их аналогов посмотреть, но только как то грустно становится, особенно когда начинаешь думать о том, как, например, один класс от другого в разных dll занаследовать. И это только один из многих моментов, из-за которых репу приходится чесать, когда думаешь как быть с модульностью при переходе с дельфей на fpc.