|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.09.2015, 16:28 | #1 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
Проверка занятости файла другими процессами
Разрабатываю программу сканирующую ВСЕ файлы для поиска там значения, проблема заключаться в том, что имеются файлы занятые другими процессами. Использование IsOpen не дает 100% результат, что можно еще использовать?
|
02.09.2015, 16:45 | #2 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
Использую TFileStream
|
02.09.2015, 16:47 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
М.м.м... Попытка открыть эксклюзивно. Не знаю что за IsOpen такой.
Теоретически еще можно открывать процессы и получать список открытых ими хендлов. Где-то была у мну пример функции, могу поискать, но ИМХО этого делать не стоит. Если файл не открыт, нужно просто уведомить пользователя после сканинга что такой-то требует повторения открытия.
I'm learning to live...
|
02.09.2015, 16:51 | #4 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
IsOpen показывает занят ли файл, работает отлично пока дело не доходит до системных файлов, тут он не работает
у TextFile есть проверка IOResult, может у TFileStream тоже есть что то на подобие Последний раз редактировалось Stilet; 02.09.2015 в 16:58. |
02.09.2015, 16:58 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Нет. FileStream окучивается в Try Except и так обрабатывает ошибки.
I'm learning to live...
|
02.09.2015, 17:12 | #6 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
А что насчет эксклюзивности? Уж очень много файлов попадают в этот список
|
02.09.2015, 17:55 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну эксклюзивность все равно только проверит
Забоченные файлы все равно будут попадать. Проверить можно примерно так Код:
I'm learning to live...
|
02.09.2015, 17:58 | #8 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Не знаю, как в новых версиях, а в Borland Delphi у TFileStream был безобразно реализован совместный доступ к создаваемым им самим файлам -- созданный в программе файл нельзя было просматривать в Far до его закрытия. Если в новых версиях исправили, хорошо.
К задаче ТС это касательства не имеет, просто хочу показать, что TFileStream -- спорный класс. По теме задачи ничего сказать не могу. Несмотря на недостатки TFileStream, мне как-то хватало его исключений.
В разработке: воспроизводственный контур ИТ
|
02.09.2015, 18:21 | #9 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
Файл открывается, но вот при чтение вылетает ошибка, при что файл занят другим процессом, хотя файл открывается в блокноте
|
02.09.2015, 18:24 | #10 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
В ХЕ6 TFileStream работает более стабильно чем TextFile, может есть что то более стабильное?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Javascript, проверка занятости логина на странице. | webber9989 | Работа с сетью в Delphi | 3 | 27.11.2012 10:23 |
Проверка занятости DOS не работает | fire_on | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 30.09.2012 16:01 |
Проверка архивов rar, zip, arj, 7z на наличие файла используя cmd-файла | cerberochek | Win Api | 5 | 05.10.2011 19:26 |
Картинка занятости системы | ADSoft | PHP | 7 | 11.08.2009 22:54 |
проверка наличия файла | Juffin | Общие вопросы Delphi | 2 | 18.04.2009 14:17 |