27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
1

Исключение при попытке вызвать QFileDialog::getOpenFileName

16.11.2016, 13:26. Показов 1414. Ответов 8
Метки нет (Все метки)

Доброго времени суток. При попытке выбора файла с помощью
C++ (Qt)
1
QFileDialog::getOpenFileName
Получаю исключение:
Вызвано исключение по адресу 0x750EC54F (KernelBase.dll) в QtGuiApp4.exe: 0x000006BA: Сервер RPC недоступен.
Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно.


C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
QtGuiApp4::QtGuiApp4(QWidget *parent)
    : QMainWindow(parent) {
   ui.setupUi(this);
 
  // ...  
 
   connect(ui.controlVideo, SIGNAL(clicked()), this, SLOT(playFile()));
}
 
// Открытие файла
void QtGuiApp4::openFile() {
   // ...
 
   // Открытие файла
   filename = QFileDialog::getOpenFileName(
      this,
      dl_utf8("Выберите видео файл формата (*.avi)"),
      "G:\\DB", // QDir::currentPath(),
      dl_utf8("Видео файлы (*.avi)")).toUtf8();
 
   // ...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2016, 13:26
Ответы с готовыми решениями:

QFileDialog::getOpenFileName()
void MainWindow::on_pushButton_clicked() { QString filePath = fDialog->getOpenFileName(this,...

QFileDialog::getOpenFilename не отображаются форматы
Доброго времени суток, при таких параметрах функции: QString filname=...

QFileDialog::getOpenFileName расширение по умолчанию
Все прекрасно работает, но чтобы уж все предусмотреть надо сделать чтобы можно было открывать файл...

Не работает фильтр расширений файлов в QFileDialog::getOpenFileName
Привет! Подскажите, почему при вызове QFileDialog::getOpenFileName(0, "Open Dialog", "",...

8
183 / 175 / 57
Регистрация: 25.09.2014
Сообщений: 828
17.11.2016, 10:29 2
Я один тут не вижу ошибки? Побольше бы кода...
2
7037 / 6059 / 2753
Регистрация: 14.04.2014
Сообщений: 25,960
17.11.2016, 17:52 3
А что за dl_utf8()?
1
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
17.11.2016, 17:57  [ТС] 4
Это - конвертация символов в кириллицу (точно не ошибка). В общем результат таков, если написать так
C++ (Qt)
1
2
3
4
filename = dlg.getOpenFileName(this,
      dl_utf8("Выберите видео файл формата (*.avi)"),
      ".\\db\\denis\\avi", // QDir::currentPath(),
      dl_utf8("Видео файлы (*.avi)"), nullptr, QFileDialog::ReadOnly | QFileDialog::DontUseNativeDialog).toUtf8();
то все работает. В теории - это то что локальную сеть не хочет видеть. Но это моя теория

Добавлено через 1 минуту
Вот и я не видел ошибки, но увы не работает.
C++ (Qt)
1
2
3
4
// Руссификация строки
QString QtGuiApp4::dl_utf8(char *str) {
   return QString::fromLocal8Bit(str);
}
0
7037 / 6059 / 2753
Регистрация: 14.04.2014
Сообщений: 25,960
17.11.2016, 18:04 5
Цитата Сообщение от anonymous_23 Посмотреть сообщение
конвертация символов в кириллицу (точно не ошибка)
А зачем ты изменил настройки кодировки? В Qt utf-8 по умолчанию и никакой конвертации не требуется.
Цитата Сообщение от anonymous_23 Посмотреть сообщение
локальную сеть не хочет видеть
У тебя же в рабочем варианте сеть, а в нерабочем диск G.
1
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
17.11.2016, 18:12  [ТС] 6
Цитата Сообщение от nmcf Посмотреть сообщение
А зачем ты изменил настройки кодировки? В Qt utf-8 по умолчанию и никакой конвертации не требуется.
У меня студия 2015. И она не понимает кодировку по умолчанию.
Цитата Сообщение от nmcf Посмотреть сообщение
У тебя же в рабочем варианте сеть, а в нерабочем диск G.
Чуточку не понял ...
G - это внешний жесткий диск. А есть еще локальная сеть и на сколько я понимаю KernelBase.dll на это и ругается
0
7037 / 6059 / 2753
Регистрация: 14.04.2014
Сообщений: 25,960
17.11.2016, 18:19 7
Цитата Сообщение от anonymous_23 Посмотреть сообщение
У меня студия 2015. И она не понимает кодировку
Настройки проверь. И QtCreator лучше используй.
Цитата Сообщение от anonymous_23 Посмотреть сообщение
G - это внешний жесткий диск. А есть еще локальная сеть
При чём здесь сеть, если в том фрагменте, который как ты говоришь, ошибку даёт, указан локальный диск?
1
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
17.11.2016, 18:23  [ТС] 8
Цитата Сообщение от nmcf Посмотреть сообщение
При чём здесь сеть, если в том фрагменте, который как ты говоришь, ошибку даёт, указан локальный диск?
Потому что, по умолчанию окно выбора файла в Windows подразумевает использование файлов и по сети, а
C++ (Qt)
1
QFileDialog::DontUseNativeDialog
Не предоставляет доступ к сети.

P.S.: Чисто наблюдение. Возможно я ошибаюсь.
0
7037 / 6059 / 2753
Регистрация: 14.04.2014
Сообщений: 25,960
17.11.2016, 21:15 9
На другом компьютере попробуй. Вполне возможно, что не в Qt дело, а в Windows.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2016, 21:15

Не открывается файл при задействовании QFileDialog
Почему вызывается окно открытия файла, а сам файл не открывается? Что мне нужно прописать...

Почему после использования QFileDialog, при выходе из программы ошибка адресации?
connect(ui->webView->page(), SIGNAL(downloadRequested(QNetworkRequest)), this,...

Сегфолт при попытке вызвать memcpy
Почему тут вылетает сегфолт? #include <stdio.h> #include <stdlib.h> #include <string.h> int...

Исключение при попытке вывести изображение
У меня выдает исключение на эту строку My_img.SetValue(Image.SourceProperty,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.