Russian Qt Forum

Программирование => Общий => Тема начата: miha-ha от Апрель 30, 2010, 16:21



Название: обновление плагинов программы
Отправлено: miha-ha от Апрель 30, 2010, 16:21
При запуске программы загружаю плагины и узнаю их версии -> если версия устарела то скачиваю новый плагин
проблема возникает при попытке перезаписи плагина: Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.

после проверки версии плагина если его нужно обновить я его выгружаю методом QPluginLoader::unload() который возвращает true
но ошибка остается...

Собственно вопрос: как корректно обновлять плагины, если учесть что каждый плагин знает свою версию?


Название: Re: обновление плагинов программы
Отправлено: Пантер от Апрель 30, 2010, 16:59
Сделать скрипт замены, завершиться и запуститься.
Винда? Батничек бипется на раз.


Название: Re: обновление плагинов программы
Отправлено: miha-ha от Апрель 30, 2010, 17:15
Не совсем то, что хотелось.. но попробую...
Без перезапуска никак?


Название: Re: обновление плагинов программы
Отправлено: zenden от Апрель 30, 2010, 17:17
в винде можно переименовать файл плагина (даже если он используется)


Название: Re: обновление плагинов программы
Отправлено: miha-ha от Апрель 30, 2010, 17:33
ага!!! это подметил... но новый файл всё равно не создаётся :(


Название: Re: обновление плагинов программы
Отправлено: break от Апрель 30, 2010, 17:45
Цитировать
в винде можно переименовать файл плагина (даже если он используется)
супер хак какой-то... хотя если будет работать может можно и использовать

я у себя в одном проекте делал так что запуск шел по батнику который автоматом тянет последнюю версию с сервака проверяя не попыткой загрузки DLL а сверяя по дате, в конце скрипта когда загружены все актуальные DLL стоял запуск самой программы. Если использовать rsync под linux скорость обновления  будет большая.



Название: Re: обновление плагинов программы
Отправлено: miha-ha от Апрель 30, 2010, 18:24
переименовать удается, но удалить переименованный или создать новый файл со старым именем невозможно...


Название: Re: обновление плагинов программы
Отправлено: miha-ha от Май 02, 2010, 12:41
сделал проверку по дате изменения файла... не совсем то, что хотел, но работает
Всем спасибо!