Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Зависает форма, созданная в обработчике события MessageReceived

55K
27 декабря 2009 года
Quitest
1 / / 26.12.2009
Задание: написать ICQ-совместимый клиент.
Использую: VS2008 (C#), .NET Framework 3.5, Windows 7.

Для работы с протоколом использую библиотеку oscarlib.dll
Подключение к серверу, логин/логаут, отправка сообщения по указаному UIN'у проходят так как я задумываю, но есть проблемка при получении сообщений: в обработчике события Messages_MessageReceived написан элементраный код - создать и показать форму, при входящем сообщении форма диалога (да вообще любая) создается, но не прорисовывается полностью и зависает (не отвечает на действия). В других обработчиках все срабатывает на "ура"... В чем проблема?

Подключение и подписка на события у меня такая:
Код:
private void вСетиToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            sess = new Session(uin, pass);
            sess.LoginCompleted += new LoginCompletedHandler(sess_LoginCompleted);
            sess.LoginFailed += new LoginFailedHandler(sess_LoginFailed);
            sess.Messages.MessageReceived += new MessageReceivedHandler(Messages_MessageReceived);
            sess.ClientCapabilities = Capabilities.SIMKopete | Capabilities.UTF8;
            sess.Statuses.UserStatusReceived += new UserStatusReceivedHandler(Statuses_UserStatusReceived);
            sess.Logon(logonServer, logonPort);
            sess.ActivateBuddyList();
        }


Обработчик события sess.Messages.MessageReceived выглядит:
 
Код:
void Messages_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            DialogsForms dialogFormRcvd = new DialogsForms(this, e.Message.ScreenName);//при DialogsForms() тоже самое зависание.
            dialogFormRcvd.Show();
        }


P.S.: Библиотека в аттаче, весь свой проект не выкладываю - смысла не вижу и там такой бардак в камментариях, что просто стыдно это показывать. :)
И еще... Пробовал играться с Invoke, InvokeRequired, но толку не вышло (плохо понял как этим пользоваться, но, как мне кажется, проблема не в этом, хотя...)
14
29 декабря 2009 года
Phodopus
3.3K / / 19.06.2008
Посмотрите в контексте какого треда вызывается проблемный обработчик.
59K
25 апреля 2010 года
mkolmogorov
3 / / 25.04.2010
пардон, что оживляю давнюю тему, но нашлось ли решение проблемы? столкнулся с аналогичной..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог