Не смотря на практически полное незнание C++ решил-таки поковырять исходники. Вдруг что-нибудь пойму.
//ждём завершение сессий и гасим те что сами завершаться не хотят for(int i=0; i<SessionList.GetCount(); i++) //цикл по сессиям { session_main*S=SessionList[i].Session; if(S->Thread && WAIT_OBJECT_0!=WaitForSingleObject(S->Thread, 500)) //полсекунды на завершение сессии { //убиваем всё что само не умирает TerminateThread(S->Thread, 3); S->Thread=0; } }
Не страшно завершать сессии не дав им и секунду на завершение? Сессии - это ведь не плагины?
Хотел почитать подключение плагинов и их выгрузку, вдруг бы нашёл что-нибудь подозрительное... а там всё просто оказалось: при загрузке "LoadPlugins();", при выгрузке "FreeLibrary(PluginList[i]);". Никакого намёка на ошибку.
ASBer, что за ошибка то такая странная вылетает, что никак поймать не можешь? И даже исключение не вылетает при отладке?
Хотелось бы ещё узнать про реализацию ввода текста с клавиатуры. А то при быстрой печати буквы пропускаются. Очень раздражает, если честно. Или это у меня такой компьютер медленный? Какой-бы ни был медленный компьютер, нажатые клавиши накапливаются в буфер. При правильной реализации буквы пропускаться не должны.