![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
I/O error 32 [D5, WinXP]
Дилетант © (2004-06-27 16:37:00)Многоуважаемые Мастера. Бьюсь над таким вопросом:
AssignFile (wf, 'armlocal.cfg');
AssignFile (ni, 'number.id');
{I-}
Rewrite (wf);
{I+}
if IOResult=0 then Rewrite (ni);
В четвёртой строчке этого кусочка возникает I/O Error 32.
Я действительно открывал эти файлы раньше, но во-первых я же их и корректно закрывал, да и Rewrite должен в случае чего сначала закрыть файлы. Верю что ошибка у меня примитивная, но за помощь буду очень благодарен.
raidan (2004-06-27 17:30:00) [1]ReWrite сразу затирает содержимое файла ака пересоздает...
А Reset - нет.
Anatoly Podgoretsky (2004-06-27 17:23:00) [2]Да получает через одно и тоже АПИ, но откуда следует, что тот же самый?
Дилетант (2004-06-27 17:20:00) [3]Спасибо raidan и Anatoly Podgoretsky ©. Подали идею. Да действительно нет доступа. Файл занимается побочным процесом. Исправил. Работает.
Перед закрытием ветки удовлетворите всё же моё любопытство - ПОЧЕМУ РАБОТАЛ RESET? Он же в принципе доступ получает так же как и REWRITE?
Дилетант (2004-06-27 17:08:00) [4]Т.е. ошибка доступа (по русски). Странно, а почему же тогда Reset не вызывает этой ошибки?
Anatoly Podgoretsky (2004-06-27 17:07:00) [5]Из справки
32L ERROR_SHARING_VIOLATION
Дилетант (2004-06-27 16:56:00) [6]Но ведь в Делфи Хелп английским по жёлтому написано, что Rewrite сам должен закрыть файл, если он открыт. Так и что это за ошибка такая?
raidan (2004-06-27 16:54:00) [7]Значит байда у тебя где-то перед этим открытием файла.
Либо криво закрываешь, либо играешься с процессами :)
Дилетант (2004-06-27 16:52:00) [8]Да и что это вообще за ошибка ввода-вывода 32. Я не смог найти её в Хелпе Делфи. Там все описаные коды больше 100.
Дилетант (2004-06-27 16:51:00) [9]Атрибуты не РидОнли, не скрытый, не системный.
А перезагрузиться - попробовал. Безрезультатно.
Дилетант (2004-06-27 16:49:00) [10]Тут причём такая хитрость. В прошлый раз эти физические файлы armlocal.cfg и number.id ассигновались с другими текстфайлами, но я их закрываю перед повторным вызовом. Причём при замене Rewrite на Reset (ради эксперимента) ошибка не возникает
raidan (2004-06-27 16:48:00) [11]Атрибуты файла - он не read-only?
После перезагрузки такая-же байда?
Чудес-то не бывает.
raidan (2004-06-27 16:42:00) [12]Попробуй rewrite(wf,1) если wf не text.
Дилетант (2004-06-27 16:42:00) [13]TextFile
raidan (2004-06-27 16:41:00) [14]Тип файла wf?