Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Владислав от Май 30, 2013, 11:14



Название: есть ли сообщение о невозможности разрешить connect?
Отправлено: Владислав от Май 30, 2013, 11:14
если в connect указаны несуществующие сигналы или слоты можно ли получить сообщение от мока или компилятора?

Программирую на VS2008 под WinCE.


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: kambala от Май 30, 2013, 11:27
при дебаге соответствующие сообщения сыпятся в Output в рантайме


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Serr500 от Май 30, 2013, 12:15
если в connect указаны несуществующие сигналы или слоты можно ли получить сообщение от мока или компилятора?
В Qt4 - нет, в Qt5 - да. http://habrahabr.ru/post/141983/ (http://habrahabr.ru/post/141983/)


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Странник от Май 30, 2013, 12:38
В Qt4 - нет, в Qt5 - да. http://habrahabr.ru/post/141983/ (http://habrahabr.ru/post/141983/)
а Qt5 поддерживает WinCE? мне казалось, выпилили.


Название: Re: есть ли сообщение о невозможности разреш&
Отправлено: Владислав от Май 30, 2013, 14:23
Спасибо!

Для Windows CE на тек.момент ПОКА доступна только версия Qt libraries 4.8.4 for Windows CE (269 MB)

http://qt-project.org/downloads

Буду ждать 5 для се.


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Владислав от Май 30, 2013, 14:26
при дебаге соответствующие сообщения сыпятся в Output в рантайме

А можно ли в рантайме ловить такой эксцепшен?


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: mutineer от Май 30, 2013, 14:33
при дебаге соответствующие сообщения сыпятся в Output в рантайме

А можно ли в рантайме ловить такой эксцепшен?

Это не эксепшн, это дебажное сообщение. connect возвращает false в случае если связать не удалось


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Bepec от Май 30, 2013, 15:44
Serr500 откуда у вас такая информация что невозможно?

Я испокон веков на 4.7.2 и сообщеньки исправно сыпятся и кричат о невозможности.


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: mutineer от Май 30, 2013, 15:52
Serr500 откуда у вас такая информация что невозможно?

Я испокон веков на 4.7.2 и сообщеньки исправно сыпятся и кричат о невозможности.

ТС хотел же сообщения от компилятора, а не в рантайме. От компилятора действительно нельзя такую инфу в 4 получить


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Serr500 от Май 30, 2013, 16:13
Serr500 откуда у вас такая информация что невозможно?

Я испокон веков на 4.7.2 и сообщеньки исправно сыпятся и кричат о невозможности.
Покажите мне код с несуществующими сигналами/слотами, на которые в connect ругается компилятор или линкер, как хочет ТС.


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Bepec от Май 30, 2013, 16:20
Оукей убедил :) Я был неправ, извиняюсь :)


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Владислав от Май 30, 2013, 18:20
По поводу выкидывания исключеня в рантайме, судя по всему штатного в qt нет, придётся так делать

if(!QObject::connect(fldBottomLeftX, SIGNAL(editingFinished()), this, SLOT(fieldEditingFinished()))) throw new std::exception("Qt signal/slot failed");


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Bepec от Май 30, 2013, 18:51
Ыыы... Вопрос один возникает - зачем?


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: Figaro от Май 31, 2013, 08:15
Да уж... ТС читайте Assistant... не знаю как в пятерке, но в четверке connect возвращает false, если порнография случилась...


Название: Re: есть ли сообщение о невозможности разреш&
Отправлено: Владислав от Июнь 01, 2013, 13:07
Да, лучше без эксцепшенов
   if (
      !connect(clientMicrocredit, SIGNAL(signal_start1()), this, SIGNAL(signal_start())) ||
      !connect(clientMicrocredit, SIGNAL(signal_crash()), this, SIGNAL(signal_crash()))
      )
   {
      emit signal_crash();
      return;
   }


Название: Re: есть ли сообщение о невозможности разрешить connect?
Отправлено: mutineer от Июнь 01, 2013, 13:14
Только ж ты учти, что при такой записи если провалится первый коннект, то не будет даже попытки вызвать второй