Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: quter от Декабрь 10, 2009, 23:34



Название: Проблема с QFileDialog и файлами .iso
Отправлено: quter от Декабрь 10, 2009, 23:34
Здравствуйте.
Пишу приложение на Qt 4.5.3 под Visual Studio 2008.
В общем беда в том, что когда в своем приложении пытаюсь открыть файл (через QFileDialog) и захожу в папку, в которой присутствует какой-нибудь файл с расширением .iso, вылетает ошибка:
Цитировать
First-chance exception at 0x7c90e4ff in player.exe: 0xC0000008:An invalid handle was specified. (Break/Continue/Ignore)
Если нажать Ignore, программа продолжает нормально работать. Если нажать Break появляется вторая ошибка:
Цитировать
No symbols are loaded for any call stack frame. The source code cannot be displayed.
и программа повисает.
притом если у iso файла поменять расширение на любое другое, ошибки не возникает.

Подскажите, пожалуйста, в чем может быть проблема и как это можно исправить.

Код:
void player::open()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open"), ".", tr("Files (*.*)"));
if(!fileName.isEmpty())
loadFile(fileName);
}


Название: Re: Проблема с QFileDialog и файлами .iso
Отправлено: sendevent от Декабрь 11, 2009, 00:40
какая виндвоз? какие нибудь 3dparty-приблуды, работающие с образами, установлены на девелоперской машине? это же приложение на "чужой" машине ведет себя также?


Название: Re: Проблема с QFileDialog и файлами .iso
Отправлено: quter от Декабрь 11, 2009, 01:48
Windows XP SP3
приблуда стоит, называецся Alcohol 52%. После ее удаления проблема исчезла. После повторной установки снова появилась.
Пробовал проверять с другими приложениями, написанными на qt (например vlc player). В них такой ошибки не возникает.
На "чужой" машине не проверял.


Название: Re: Проблема с QFileDialog и файлами .iso
Отправлено: sendevent от Декабрь 11, 2009, 03:11
ну боль-мень причину локализовали - дальше можно только гадать.
была ситуация (без кьют) - адобовский ком с невнятным борматанием падал при попытке открытия пдф. как выяснилось, и приложение, и 3dparty библиотека линковались с sqlite.dll (кадый, естессно, хотел свою), и загружалась то "ближайшая", то "предыдущая невыгруженная".
можно пройтись депенденс волкером, если сейчас подобная ситуация - разруливается через манифесты либо переименование "спорной" (линкуемой с разрабатываемым приложением) библиотеки.


Название: Re: Проблема с QFileDialog и файлами .iso
Отправлено: lit-uriy от Декабрь 11, 2009, 05:17
quter, ради теста воспользуйся не статическим методом (QFileDialog::getOpenFileName), а создав объект QFileDialog, т.е. не нативный диалог, посмотри как в нём будет.