Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработчик событий в другом классе 
:(
    Опции темы
Werwolfer
Дата 20.5.2010, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 20.5.2010

Репутация: нет
Всего: нет



Доброго времени суток уважаемые, столкнулся с проблемой использования метода, который включает обработчик событий, в другом классе. Сама программа представляет собой простейший jabber клиент с использованием сторонней библиотеки. Часть класса с обработчиком событий (XmppClientConnection - класс используемый для подключения по джаббер протоколам):
Код

public partial class JabberConnection : Form
    {
        XmppClientConnection xmppConnect = new XmppClientConnection();
        private Form1 form ;
        public JabberConnection(Form1 form)
        {
            this.form = form;
        }
 
        public void Init()
        {
            // description of events
            xmppConnect.OnLogin += new ObjectHandler(xmppConnect_OnLogin);
            //еще некторые события
             ...
             ...
        }
        //пример одного события
        public void xmppConnect_OnLogin(object sender)
        {
            if (InvokeRequired)
            {
                BeginInvoke(new ObjectHandler(xmppConnect_OnLogin), new object[] { sender });
                return;
            }
            this.form.listEvents.Items.Add("Подключение");
            this.form.listEvents.SelectedIndex = this.form.listEvents.Items.Count - 1;
        }
}

И собственно форма, куда передается метод с инициализатором событий:
Код

public partial class Form1 : Form
    {
       
        public Form1()
        { 
            JabberConnection jabberInicialization = new JabberConnection(this);
            InitializeComponent();
            jabberInicialization.Init();
        }
    }


остальные используемые методы используются прекрасно, а с событиями не происходит ничего, ни ошибок ни исключений, они просто не инициализируются. Буду благодарен за комментарии.
P.S. Достаточно долго искал причину проблемы но так и не нашел... возможно проблема в BeginInvoke?
PM MAIL   Вверх
Werwolfer
Дата 22.5.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 20.5.2010

Репутация: нет
Всего: нет



Никто не подскажет решение проблемы? буду благодарен за комментарии.. 
PM MAIL   Вверх
AntonX
Дата 5.6.2010, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006
Где: РФ

Репутация: нет
Всего: -1



Код

        public void Init()
        {
            // description of events
            xmppConnect.OnLogin += new ObjectHandler(xmppConnect_OnLogin);
            //еще некторые события
             ...
             ...
        }


ты этот код под отладчиком прогонял? какие значения присваиваются xmppConnect.OnLogin?


в крайнем случае вызови событие xmppConnect.OnLogin самостоятельно и посмотри что будет. если класс xmppConnect не sealed, унаследуй от него 
свой и попробуй покрыть тестами.

Это сообщение отредактировал(а) AntonX - 5.6.2010, 16:53
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.