sl-shem писал(а):Возникает ошибка занятости файла.
Не, ну впринципе иногда может стоит зранить DLL в централизованной базе чтоб легче было обновлять, но, ИМХО, это изврат...И зачем DLL в базе данных? Какой в этом великий смысл?
Думаю ошибка вылетает там, где он пытается удалить файл. Но тот код не поможет, так как просто не выгружена библиотека. Попробуй для хранения значения, возвращаемого LoadLibrary завести отдельную переменную. Может в этом весь прикол. Ну а вообще конечно так гадать на кофейной гуще - много не нагадаешь. Но причину могу сказать на 90% - не везде сработала FreeLibrary...Так все-таки выложи код, с указанием места в котором вылезаем ошибка
sl-shem писал(а):Пробывал заводить отдельную переменную не помагат!!!
Это судя по приведенному коду. Проверь и убедись, что FreeLibrary везде сработала. Я имею ввиду точно посчитай кол-во вызовов LoadLibrary и сравни с кол-вом удачных FreeLibrary. Тем более там у тебя потоки, о проблемах с которыми можешь почитать здесь. Попробуй модифицировать код. Да и вообще, зачем использовать потоки?Twister писал(а):не везде сработала FreeLibrary
Но VB второй раз и выгружать ее должен тоже, по идее.ActiveX делает LoadLibrary ещё раз.
Ага, лучше сразу инжект соответствующего асмовского кода в эксплорер, чтоб наверняка сработало... Нет! Это не решение.Пиши для своей проги запускалку, которая после завершения оной почиститпапку с DLL
А если перезагрузка? DLL-ли (мусор) останутся.загружает прогу, дожидается ее завершения, отменяет регистрацию и прибивает dll
Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 50