![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как лучше поделить на части большой проект?
den_777 © (2002-12-02 01:37:00)Есть большой проект ( более 500 тысяч строк ). Компилировать все
в один EXE-шник как-то некрасиво (более 11Мб). При разбивке на DLL возникает проблема с подключением к базе. Из каждой DLL свой connect не откроешь - слишком много connectов к базе получится. Да и транзакции иногда проходят чуть ли не через все куски программы. В разных DLL насколько я понимаю одну транзакцию не проведешь. К тому же между различными кусками программы идет постоянный обмен динамическими данными. Вынести код по работе с DB в одну DLL не полуится, так как это 40-50% всего проекта. Вот собственно и все. Может есть у кого идеи по поводу деления проекта на составляющие.
den_777 (2002-12-03 07:01:00) [1]Спасибо всем кто поделился своим мнением.
1- Постараюсь кратко ответить. Хранимые процедуры не помогут, т.к сопровождать их всегда тяжелее, чем исправить SQL в TQuery.
2- Глюки они всегда были, есть и будут. Перекраивать проект на ходу я не собирался. Спрашиваю для того чтобы в будующем хотя бы знать как такой проект можно переписать. 11 Мб действительно не страшно, но программа до конца не написана и развивается. Еще год назад было только 8 Мб. И очень не хочется, чтобы еще через год программа была на 15-20 Мб. У меня на комьютере много программ установлено, но таких EXEшников ни у кого нет.
3- Специально для stone. Действительно без знания сущности проекта трудно дать дельный совет. Но насколько мог я проект описал. К перестройке проекта всегда готов. "Затормаживает проект не перестройка, а возможный путь в тупик".
4- Игорь Шевченко - что-то я не пойму, чего я должен был остерегаться. Я хотел узнать мнения других программистов. Я их узнал.
5- Карелин Артем спасибо большое, но сущности проблемы это не решает. Все-таки хотелось бы разделить проект на составляющие.
Карелин Артем (2002-12-02 15:37:00) [2]http://upx.sourceforge.net/phpBB/viewtopic.php?t=125&sid=a521158b98da27bb0b643ea84b5f6ef3
Игорь Шевченко (2002-12-02 15:19:00) [3]Calm © (02.12.02 10:57)
Я бы поостерегся задавать вопросы, подобные тому, что задал автор темы...
:-)
С уважением,
Кот Бегемот (2002-12-02 15:18:00) [4]Оставь код в покое :)
Если прога действительно нужная и важная то 11 метров - это не такой уже большой размер. Лучше купить памяти :)))
Какая то прога на Delphi которая 2+2 складывает (если верить TaskManager) занимает под 2 метра :(
Карелин Артем (2002-12-02 15:04:00) [5]А можно UPX"ом сжать...
Calm (2002-12-02 10:57:00) [6]2 stone © (02.12.02 10:51)
> Я бы поостерегся давать дельные советы по перекройке (это
> не шуточное дело) проекта даже не взглянув на него. Для
> начала нужно очень тщательно проанализировать логику всех
> процессов в проекте
Совершенно верно.
> Я балдею в этом зоопарке.
Не слишком ли, а?
stone (2002-12-02 10:51:00) [7]Я балдею в этом зоопарке.
Господа, вы пытаетесь ставить диагноз даже не взглянув на пациента.
Я бы поостерегся давать дельные советы по перекройке (это не шуточное дело) проекта даже не взглянув на него. Для начала нужно очень тщательно проанализировать логику всех процессов в проекте. Возможно некоторые из них удастся изменить таким образом, что они перестанут напрямую зависеть от других. Это не панацея и даже не совет. В любом случае придется переписать большую часть проекта, что займет не один день, а возможно и месяц.
den_777 вы готовы к этому?
neXt (2002-12-02 10:36:00) [8]можно разделить на bpl тогда будет один коннесшен
mrcat (2002-12-02 10:25:00) [9]>>Компилировать все в один EXE-шник как-то некрасиво (более 11Мб)
зато продуктивно - скорость доступа к ресурсам растет неимоверно =)
Calm (2002-12-02 10:19:00) [10]Думается мне, что позновато уже что-то делить (500 тыс - не игрушки). Начнется перекраивание проекта - глюков не оберешся :(
А то, что более 11 Мб, так это же страшно. Не бывает прог с большой функциональностью и маленьким кодом.
Andrey007 (2002-12-02 10:04:00) [11]А хранимые процедуры не помогут в этом плане?