Здравствуйте, гость ( Вход | Регистрация )
kerdster | Дата 8.7.2011, 9:29 |
Уф, разобрался в чём дело. Проглядел что в документации функция isOpen() не виртуальная в классе QIODevice, следовательно при передаче в phonon вызывалась функция базового класса. В документации написано: Цитата Returns true if the device is open; otherwise returns false. A device is open if it can be read from and/or written to. By default, this function returns false if openMode() returns NotOpen. Следовательно добавил в свой класс просто:
И вуаля! Спасибо за внимание и желание помочь)) |
|
RazrFalcon | Дата 7.7.2011, 21:25 |
У меня х32 Arch В остальном: без понятия, так как не могу повторить багу. |
|
kerdster | Дата 7.7.2011, 21:14 |
Не совсем понял в чем проблема, но у меня не падает. Думал проблема действительно в каком-то баге, но на другой машине проблема осталась та же:
Смотрел в код, указанный в сообщении ACCERT, и там совершенно честно:
Что очень странно, ведь у меня она возвращает true. Я вот не могу понять, может с переопределением в наследовании накосячил? Собиралось и запускалось всё добро на Qt 4.6.3/Fedora 13 и Qt 4.7.2/Fedora 14, обе 32х битные. З.Ы. - У вас почему-то нет вывода в Debug второй раз сообщения "SRC: is Open", хотя он должен быть (см. в ошибке: /phonon/iodevicestream.cpp, line 43). |
|
RazrFalcon | Дата 7.7.2011, 15:48 |
Не совсем понял в чем проблема, но у меня не падает. Лог: Раскрывающийся текст
|
|
kerdster | Дата 7.7.2011, 13:17 |
Добрый день. Проблема состоит в следующем - необходимо сделать производный класс от QIODevice для использования его в Phonon. Всё бы хорошо, но столкнулся со странной проблемой - не удаётся переопределить в производном классе метод isOpen(). Объявление:
Определение:
Пример кода:
Там, где срабатывает ASSERT моя функция НЕ вызывается, в первом случае вывод в дебаг есть, а во втором нет. Что за фигня такая странная? Исходники проекта прикрепил. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 18.4.2024, 13:23 |