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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: вылет при использовании QFileDialog  (Прочитано 4916 раз)
romanick
Гость
« : Май 22, 2014, 16:26 »

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

*Уточнение: я работаю с сервером через RDP.
« Последнее редактирование: Май 24, 2014, 10:16 от romanick » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Май 22, 2014, 18:09 »

стандартно - скорее всего порча памяти в твоём приложении по твоей вине. Ищи ошибки работы с памятью.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #2 : Май 22, 2014, 19:12 »

один пользователь моего приложения также столкнулся с ошибкой при открытии файла (у него windows 7). проявляется только если файл лежит в папке в program files. увы, большего количества информации я не успел выяснить (человек пропал куда-то). у себя на машине воспроизвести не могу (w8, я админ).
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
OKTA
Гость
« Ответ #3 : Май 22, 2014, 19:30 »

ошибка с упоминанием о dtsh.dll происходит, судя по гуглу, в основном на серверной винде и все советуют обновиться.
Записан
romanick
Гость
« Ответ #4 : Май 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");
}
Записан
romanick
Гость
« Ответ #5 : Май 24, 2014, 10:12 »

ошибка с упоминанием о dtsh.dll происходит, судя по гуглу, в основном на серверной винде и все советуют обновиться.

Заставил админа поставить все обновления, но проблема осталась.
Записан
romanick
Гость
« Ответ #6 : Май 25, 2014, 09:57 »

В общем вопрос снимается. Эта проблема сервера.
Попробовал использовать нативный WinAPI - проблема та же, так что Qt не причём.
« Последнее редактирование: Май 25, 2014, 21:04 от romanick » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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