crossplatform.ru

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

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


Студент
*

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

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




Репутация:   0  


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


Старейший участник
****

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

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




Репутация:   8  


Если одна и та же программа, то можно использовать именованый семафор http://doc.qt.digia.com/qt/qsystemsemaphore.html.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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