Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: romanick от Май 22, 2014, 16:26



Название: вылет при использовании QFileDialog
Отправлено: romanick от Май 22, 2014, 16:26
Добрый день!
Столкнулся с непонятной проблемой при использовании Qt-приложений в Windows Server 2008 Standard.
При вызове статичного метода QFileDialog::getOpenFileName (или getSaveFileName - без разницы) с любыми параметрами ИНОГДА, примерно один раз из пяти происходит ошибка в модуле dtsh.dll и крах приложения.
В чём проблема понять не могу. В какую сторону копать - тоже не знаю. Остаётся надеяться что у кого-то была похожая проблема...
Qt 5.3.0

*Уточнение: я работаю с сервером через RDP.


Название: Re: вылет при использовании QFileDialog
Отправлено: Alex Custov от Май 22, 2014, 18:09
стандартно - скорее всего порча памяти в твоём приложении по твоей вине. Ищи ошибки работы с памятью.


Название: Re: вылет при использовании QFileDialog
Отправлено: kambala от Май 22, 2014, 19:12
один пользователь моего приложения также столкнулся с ошибкой при открытии файла (у него windows 7). проявляется только если файл лежит в папке в program files. увы, большего количества информации я не успел выяснить (человек пропал куда-то). у себя на машине воспроизвести не могу (w8, я админ).


Название: Re: вылет при использовании QFileDialog
Отправлено: OKTA от Май 22, 2014, 19:30
ошибка с упоминанием о dtsh.dll происходит, судя по гуглу, в основном на серверной винде и все советуют обновиться.


Название: Re: вылет при использовании QFileDialog
Отправлено: romanick от Май 24, 2014, 10:07
стандартно - скорее всего порча памяти в твоём приложении по твоей вине. Ищи ошибки работы с памятью.

Утечки быть не может:
Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QFileDialog::getOpenFileName(this, "test");
}


Название: Re: вылет при использовании QFileDialog
Отправлено: romanick от Май 24, 2014, 10:12
ошибка с упоминанием о dtsh.dll происходит, судя по гуглу, в основном на серверной винде и все советуют обновиться.

Заставил админа поставить все обновления, но проблема осталась.


Название: Re: вылет при использовании QFileDialog
Отправлено: romanick от Май 25, 2014, 09:57
В общем вопрос снимается. Эта проблема сервера.
Попробовал использовать нативный WinAPI - проблема та же, так что Qt не причём.