crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Запрет повторного открытия QFile
chereppiter
  опции профиля:
сообщение 6.2.2013, 15:08
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 12.11.2012
Пользователь №: 3595

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как запретить повторное открытие файла? Например, есть файл "file.ext". Предположим, что он в данный момент открыт приложением и последнее пишет в него данные. Параллельно приложение пытается сохранить другой файл с таким же именем в эту же директорию. Производится проверка на существование файла с таким именем. Если файл существует, то выдаётся предупреждение. Если пользователь подтверждает перезапись, то приложение пытается открыть файл и начать запись. В таком случае получается, что файл открывается повторно и в него параллельно пишутся различные данные (например, из 2-х потоков). Надо как-то запретить открытие файла, если он в данный момент открыт. Понятно, что можно просто хранить в каком-нибудь списке пути к открытым файлам и перед открытием проверять этот список, но, мне кажется, должно быть более изящное решение :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 6.2.2013, 16:54
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(chereppiter @ 6.2.2013, 18:10) *
хотелось бы обойтись только возможностями самой Qt.
В Qt нет блокировки файлов.
Как сказала Iron Bug, смотри компонент из библиотеки Qxt Lib, её не сложно использовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 11:26