|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Замена исполняемого файла (COM) во время его работы
Программа представляет собой сервер приложений (COM обьект) и обрабатывает запросы пользователей, в то же время может возникнуть необходимость заменить ее на новую с измененными функциями не дожидаясь отключения юзера (он может продолжать работать). При новом обращении должен запускаться обновленный екземпляр сервера.
|
#2
|
|||
|
|||
Вообще-то, если счетчик ссылок не обнулен, то "стандартными" средствами не получится, наверное.
Даже если это (в общем случае) out of process сервер, то восстановить "связывание" ... очень и очень сомнительно. |
#3
|
|||
|
|||
Спасибо,
проблема уже решена самозаменой сервера при отключении пользователя по условию существования новой версии, с помощью запуска BATфайла извне, как предложено здесь http://pblog.ru/?p=561 |
#4
|
|||
|
|||
Кстати. Пришла мысль в голову.
Уж коль реальное решение отличается от первоначального : "... заменить ее на новую с измененными функциями не дожидаясь отключения юзера ..." И если сервер и клиент (в контексте OLE Automation) формируются одним разработчиком. То может быть можно было бы как-то (используя механизм нотификационных сообщений) - инициировать процесс автозакрытия всех "клиентов" с сохранением текущего состояния клиента. А затем, после замены модуля на новую версию, запуск клиентов с восстановлением сохраненного состояния ... |