Название: обновление плагинов программы Отправлено: 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 сделал проверку по дате изменения файла... не совсем то, что хотел, но работает
Всем спасибо! |