![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
![]()
Разрабатываю программу сканирующую ВСЕ файлы для поиска там значения, проблема заключаться в том, что имеются файлы занятые другими процессами. Использование IsOpen не дает 100% результат, что можно еще использовать?
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
![]()
Использую TFileStream
|
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
М.м.м... Попытка открыть эксклюзивно. Не знаю что за IsOpen такой.
Теоретически еще можно открывать процессы и получать список открытых ими хендлов. Где-то была у мну пример функции, могу поискать, но ИМХО этого делать не стоит. Если файл не открыт, нужно просто уведомить пользователя после сканинга что такой-то требует повторения открытия.
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
![]()
IsOpen показывает занят ли файл, работает отлично пока дело не доходит до системных файлов, тут он не работает
у TextFile есть проверка IOResult, может у TFileStream тоже есть что то на подобие Последний раз редактировалось Stilet; 02.09.2015 в 16:58. |
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Нет. FileStream окучивается в Try Except и так обрабатывает ошибки.
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
![]()
А что насчет эксклюзивности? Уж очень много файлов попадают в этот список
|
![]() |
![]() |
![]() |
#7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ну эксклюзивность все равно только проверит
![]() Забоченные файлы все равно будут попадать. Проверить можно примерно так Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#8 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
Не знаю, как в новых версиях, а в Borland Delphi у TFileStream был безобразно реализован совместный доступ к создаваемым им самим файлам -- созданный в программе файл нельзя было просматривать в Far до его закрытия. Если в новых версиях исправили, хорошо.
К задаче ТС это касательства не имеет, просто хочу показать, что TFileStream -- спорный класс. По теме задачи ничего сказать не могу. Несмотря на недостатки TFileStream, мне как-то хватало его исключений.
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 03.07.2010
Сообщений: 38
|
![]()
Файл открывается, но вот при чтение вылетает ошибка, при что файл занят другим процессом, хотя файл открывается в блокноте
|
![]() |
![]() |
![]() |
#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 |