Russian Qt Forum
Ноябрь 24, 2024, 16:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: На счет public slot функции в каторой нет доступа к о  (Прочитано 4081 раз)
daenux
Гость
« : Ноябрь 17, 2010, 17:33 »

Доброго времени!!!

Есть функция каторая объявлена как:

Код:
public slot:
  void fun();

Она соответственно вызываеться сигналом...

Когда раздаеться сигнал, и данная функция начинает выполняться - тогда нужно получить доступ к объектам класса parent()...

Если делать так (в рассматриваемой функции):

Код:
qDebug() << dynamic_cast<cС*>(this->parent())->isEnabled();

Тогда компилируеться код нормально, но при выполнении функции получаеться ошибка следующего характера:

Код:
warning: Can not parse XML syscalls information; XML support was disabled at compile time.

И
Код:
exited with code 0
...

Если так:

Код:
qDebug() << reinterpret_cast<cC*>(this->parent())->isEnabled();

Тогда все нормально, в выводе получаем true - т.е. доступ к объекту parent() имееться...

Но все же доступа к объектам класса parent() нет:

Цитировать
qDebug() << reinterpret_cast<cC*>(this->parentWidget())->Obect->Vector->isEmpty();

Получаеться:
Код:
warning: Can not parse XML syscalls information; XML support was disabled at compile time.
и выход с кодом 0...

Просветите меня пожалуйста!
« Последнее редактирование: Ноябрь 17, 2010, 17:40 от daenux » Записан
ufna
Гость
« Ответ #1 : Ноябрь 17, 2010, 17:38 »

может быть qobject_cast?

и непонятно откуда тут ХМЛ
Записан
daenux
Гость
« Ответ #2 : Ноябрь 17, 2010, 17:44 »

C qobject_cast то же что и с dynamic_cast...
Записан
daenux
Гость
« Ответ #3 : Ноябрь 17, 2010, 17:45 »

Может как то "XML support was disabled at compile time" включить поддержку можно во время компиляции, хотя она и так включена...
Записан
ufna
Гость
« Ответ #4 : Ноябрь 17, 2010, 17:49 »

код функции?
Записан
daenux
Гость
« Ответ #5 : Ноябрь 17, 2010, 17:57 »

Три строки в функции:

Цитировать
qDebug() << "BEGIN";
qDebug() << reinterpret_cast<cC*>(this->parent())->Object->Vector->isEmpty();
qDebug() << "END";

До "END" - дело не доходит...
Записан
daenux
Гость
« Ответ #6 : Ноябрь 17, 2010, 17:58 »

Пробывал пересобрать проект, но все равно...
Записан
daenux
Гость
« Ответ #7 : Ноябрь 17, 2010, 18:56 »

Помойму что то с отладчиком gdb не то...
Записан
daenux
Гость
« Ответ #8 : Ноябрь 17, 2010, 19:50 »

Установил библиотеку expat.sourceforge.net теперь ошибку не выдает но вылетает на том же месте...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.252 секунд. Запросов: 21.