Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Вниз

Помогите в выборе метода решения   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
1-100669
johny
2003-07-18 08:26
2003.07.31
работа с treeview


7-100990
chuvak
2003-05-19 17:11
2003.07.31
Народ!!! Как программно прибить процесс, без лишних вопросов


3-100593
paxer
2003-07-07 11:47
2003.07.31
Какие компоненты доступа к БД FireBird использовать?


1-100789
cjiohobaji
2003-07-17 07:20
2003.07.31
таймер


1-100709
GSergei
2003-07-18 14:53
2003.07.31
Запущена ли служба?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский