powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
12 сообщений из 12, страница 1 из 1
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206182
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
AnsiString file="c:\\file.csv";  

 TStringList *list1 = new TStringList;
    list1->Text = "Текст"; //добавляем новые записи к существ. файлу
    list1->SaveToFile(file);


и вот при выполнении этой строки ошибка файл уже открыт. И так и есть. Если открыть файл в проводнике на редактирования.

Код: plaintext
1.
delete list1;



Вопрос. Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206185
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfВопрос. Как проверить открыт ли файл на редактирование
Открыть файл на запись - не откроется - обработать ошибку
sfsfи если да, то как его принудительно закрыть.
В общем случае никак, но в некоторых случаях можно. Только нужно ли? Закрытием ты вызовешь проблемы у проги, которая его открыла. Правильно выдать сообщение что файл открыт другим приложением.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206188
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа делает лог файлы. С этими лог файлами работают другие пользователи в Excel.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206211
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfС этими лог файлами работают другие пользователи в Excel.
Принудительная перезагрузка Windows спасёт ОРД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206215
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfПрограмма делает лог файлы. С этими лог файлами работают другие пользователи в Excel.
Пускай программа делает часовые или сутошные лог-файлы. И переименовывает их extension
так чтобы активный файл никто в экцелях не открывал.

В общем случае эта ситуация решаяется убийством процесса или потока который владеет файлом
и решение это нештатное (аварийное) и в будущем будет приводит к проблемам другого рода
которые на уровне заказчика например вообще не имеют никакого решения. Так вот и напрашивается
вопрос. Тебе оно надо этот геморрой на задницу?
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206362
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfВопрос. Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть.

принудительно закрыть файл невозможно.

Проверить, открыт ли файл на редактирование, т.е. на чтение и запись, можно наверное лишь только открыв
этот же файл в эксклюзивном режиме и проверив после этого ошибку.
Но с учётом того, что
эксклюзивный доступ к файлу кроссплатформненно (переносимо) не задаётся (т.е. это platform specific code),

другое приложение может файл открыть, прочитать, закрыть, а когда будет писать в файл, то создаст другой файл с таким же именем ( это не то же самое, что тот же файл)

... то задача становится практически нерешаемой.

На практике такое всегда решается тупо правами пользователя.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206366
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfПрограмма делает лог файлы. С этими лог файлами работают другие пользователи в Excel.

Это всё только в винде, только там могут быть такие проблемы.
Я к тому, что ты не ту проблему решаешь.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206394
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется вот эта штука снимает блокер с файла в Windows. Но ... на срах и риск за целостность данных.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206419
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черезжопная архитектура приводит к черезжопным разгребаниям последствий. Непонятно зачем писать лог в csv чтобы потом рубить эксели смотрящие этот csv. Если ТС даст подробности этого безобразия, то можно что-нибудь посоветовать, а так самый правильный совет от Сибирякова: ребут и файлы разблокированы.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206423
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКажется вот эта штука снимает блокер с файла в Windows. Но ... на срах и риск за целостность данных.

Модератор: Удалено

Марк, это просто тупо вирус.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206427
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Едрен батон. Ну ОК. Как жеж раньше он назывался. Был комплект утилит от Руссиновича.
Кажется из его набора был анлокер или что-то в этом роде.
...
Рейтинг: 0 / 0
Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
    #39206694
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕдрен батон. Ну ОК. Как жеж раньше он назывался. Был комплект утилит от Руссиновича.
Кажется из его набора был анлокер или что-то в этом роде.да был такой.. там были грязные хаки наверное :) unlocker...

а по поводу задачи - может программу будет писать логи в один файл и ногда копировать его в другой? если тот занят, то создавать другой файл, например log_for_read_2.csv ... exel ведь все равно не обновляет файл когда тот изменяется (наверное)..

или если нужно только прочитать, то можно создавать временные файлы - копиии лога - и открывать их для пользователя, когда тот запросит.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как проверить открыт ли файл на редактирование и если да, то как его принудительно закрыть
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]