Текущий архив: 2003.07.31;
Скачать: CL | DM;
ВнизПомогите в выборе метода решения Найти похожие ветки
← →
alexts (2003-07-14 12:33) [0]Всем привет!!! Разрабатывается системка в которой штук пять рабочих мест. Все они завязаны между собой т.е. имеют общие модули. Задача обеспечить легкую обновляемость(возможно с контролем версий) и расширяемость приложений. Приложения MDI. Есть идея использовать DLL но: 1. Читал о проблемах DLL и MDI Child; 2. При программирования активно используется наследоывание форм, так что в каждую DLL прийдется добовлять предков и сопряженные юниты(Каждая DLL как отдельная объектная модель - хорошо это или плохо еще не понял). Также расматривали вариант хранения интерфесов как COM объектов(Кажется сложновато).
Посоветуйте что нить.
← →
BillyJeans (2003-07-14 13:21) [1]а подробнее про общие модули можно?
← →
Толик (2003-07-14 13:59) [2]imho задача обновляемости файлов никак не связана с ни с dll ни с mdi и пр.
Как вариант: есть два exe-файла A - содержащий всю логику и B - служащий для обновления версий A.
1. На десктопе у пользователя создаётся ярлык на файл B, в качестве параметра ему передаётся путь к файлу A. B читает из общедоступного ресурса новую версию файла A, сравнивает её с текущей, копирует, если необходимо, запускает A и завершает свою работу.
2. Запустившийся файл A читает тот самый общедоступный ресурс, откуда его только что скопировали и тем же самым способом обновляет файл B и начинает выполнять свою основную работу.
В итоге задача сводится к тому, чтобы в тот самый ресурс периодическии выкладывать новые версии, а пользователи, сами того не ведаю будут обновлять версии.
← →
alexts (2003-07-14 14:14) [3]2 Толик © (14.07.03 13:59)
Согласен: imho задача обновляемости файлов никак не связана с ни с dll ни с mdi и пр.
Но это до тех пор пока у ВАС нет около 30 объектов разбросанных по всей стране с dial-up соединением. Им выслать exe модуль например 1.7Мб в упакованном виде становится проблемотичным. А если еще и че нить напортачил в этой версии, ну например по глупости забыл коннект в DataModule закрыть, прийдется повторить операцию. Вот и пытаюсь как то поделить прилогу на куски, чтоб если глюк то только что то одно не работало!!!
← →
Толик (2003-07-14 14:29) [4]to alexts © (14.07.03 14:14)
На мой взгляд:
1. новая версия должна появляться не после изменения пары строк кода, а после серьёзной переработки или добавления новой функциональности (здесь парой строк не обойтись).
2. Время на проектирование и тестирование должно отводиться значительно больше, чем времени на собственно написание кода (тогда и ляпов типа забытого соединения не будет).
3. Ну и стандартный прием: вынести все VCL-пакеты из exe-шника (их-то достаточно один раз скопировать).
← →
alexts (2003-07-14 17:03) [5]Опять не могу не согласиться, но опять таки если работаешь на сопровождении, то выпускать новые версии приходится частенько. Заказчики - ребята шустрые, постоянно меняют методику учета, так сказать эксперементируют, а главное бабки платят :)). Конечно выгружать весь VCL в BPL идея хорошая!!! Но хотелось бы услышать еще мнения что выбрать: DLL, BPL, COM или вооще .Net FrameWork??? может у кого есть опыт переходов от одного приложения к приложениям с динамически подгружаемыми библиотеками и т.п.???
← →
Юрий Зотов (2003-07-14 17:19) [6]> 1. Читал о проблемах DLL и MDI Child
> 2. При программирования активно используется наследоывание
> форм, так что в каждую DLL прийдется добовлять предков и
> сопряженные юниты
Обе проблемы снимаются, если вместо DLL использовать BPL. К тому же, компиляция с run-time пакетами (включая пакеты VCL) вынесет огромную часть кода в НИКОГДА не обновляемую часть. Значит, ОБНОВЛЯЕМАЯ сократится до минимума.
← →
alexts (2003-07-16 11:10) [7]Спасибо всем кто ответил. Поэксперементирую, потом прийму решение.
Страницы: 1 вся ветка
Текущий архив: 2003.07.31;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.009 c