powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отцепиться от DLL.
6 сообщений из 6, страница 1 из 1
Отцепиться от DLL.
    #38617512
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа работает с приложением стороннего разработчика (ПСР), цепляясь к ней через его же DLL.
Код: c#
1.
2.
3.
4.
5.
6.
DLLLib oDLL = new DLLLib();
//После использования
//Отписка от всех событий. Программа использует несколько.
oDLL.Unsubscribe();
//и под завязку
oDll = null;


Программа пишется, и потому все время останавливаем, редактируем, запускаем снова.
Беда в том, что после завершения и повторного запуска программы, ПСР перестает выдавать события. Нужно ПСР перезапускать, и только тогда все ОК. При завершении ПСР пишет, что оно подсоединено к активному COM-объекту.
Что делать, чтобы моя прога при завершении освобождала DLL? Никаких методов типа Dispose() или Finalize() в DLL нет.

"Есть многое на свете, друг Горацио, что и не сразу в голову придет."
М. Твен "Приключения Геккельбери Финна"
...
Рейтинг: 0 / 0
Отцепиться от DLL.
    #38617602
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA,

попробуй

Код: c#
1.
2.
3.
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();



если не поможет - можно будет пытаться в отдельный домен грузить
...
Рейтинг: 0 / 0
Отцепиться от DLL.
    #38617655
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилYUBA,

попробуй

Код: c#
1.
2.
3.
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

если не поможет - можно будет пытаться в отдельный домен грузить
Пришел к близкому выводу -GC.Collect();. Не пошло.
Без дальнейшего
Код: c#
1.
2.
GC.WaitForPendingFinalizers();
GC.Collect();

работать не хочет. А с этим все ОК. Отцепляется. События при перезапуске идут.
Спасибо.
...
Рейтинг: 0 / 0
Отцепиться от DLL.
    #38617913
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA,

Process.Kill
...
Рейтинг: 0 / 0
Отцепиться от DLL.
    #38618101
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationYUBA,

Process.Kill
говно
...
Рейтинг: 0 / 0
Отцепиться от DLL.
    #38618252
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
DLLLib oDLL = new DLLLib();
//После использования
//Отписка от всех событий. Программа использует несколько.
oDLL.Unsubscribe();
//и под завязку
Marshal.ReleaseComObject(oDLL);
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отцепиться от DLL.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]