Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Создаются левые евенты


Автор: hookymars 15.4.2009, 07:46
Пишу прогру на смешанном CLR. Подключена native библиотека. На одном из этапов передаю ей из exe неуправляемый класс:

Код

class SameClass
{
public:
....
virtual void OnConnect(char* HostAddress, int ServerPort);
virtual void OnDisconnect(int socerr);
....
}


Библиотека вызывает методы данного класса  smile . Все вродебы хорошо, но вызовы методов класса происходтя из потоков созданных в библиотеке. Получается такая штука: при первом вызове в native потоке какоголибо метода SameClass, не понятно от чего создаются евенты. Кто создает не понятно smile . При аналогичной ситуаци, но если exe`шник написан в native режиме проблем не возникает. 

Почему так происходит? Как отключить создание левых евентов? Потому что, после уничтожения потоков и класса, евенты остаются - получаем утечку дескрипторов.

К сожалению переделать архитектуру - нет возможности. Библиотека досталась по наследсву, а работать должно уже позавчера.... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)