Вниз
Скачать: CL | DM;

I/O error 32   Найти похожие ветки 

← →
Дилетант   (2004-06-27 16:37) [0]

Многоуважаемые Мастера. Бьюсь над таким вопросом:

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 16:41) [1]

Тип файла wf?


← →
raidan   (2004-06-27 16:42) [2]

Попробуй rewrite(wf,1) если wf не text.


← →
Дилетант   (2004-06-27 16:42) [3]

TextFile


← →
raidan   (2004-06-27 16:48) [4]

Атрибуты файла - он не read-only?
После перезагрузки такая-же байда?
Чудес-то не бывает.


← →
Дилетант   (2004-06-27 16:49) [5]

Тут причём такая хитрость. В прошлый раз эти физические файлы armlocal.cfg и number.id ассигновались с другими текстфайлами, но я их закрываю перед повторным вызовом. Причём при замене Rewrite на Reset (ради эксперимента) ошибка не возникает


← →
Дилетант   (2004-06-27 16:51) [6]

Атрибуты не РидОнли, не скрытый, не системный.
А перезагрузиться - попробовал. Безрезультатно.


← →
Дилетант   (2004-06-27 16:52) [7]

Да и что это вообще за ошибка ввода-вывода 32. Я не смог найти её в Хелпе Делфи. Там все описаные коды больше 100.


← →
raidan   (2004-06-27 16:54) [8]

Значит байда у тебя где-то перед этим открытием файла.
Либо криво закрываешь, либо играешься с процессами :)


← →
Дилетант   (2004-06-27 16:56) [9]

Но ведь в Делфи Хелп английским по жёлтому написано, что Rewrite сам должен закрыть файл, если он открыт. Так и что это за ошибка такая?


← →
Anatoly Podgoretsky ©   (2004-06-27 17:07) [10]

Из справки
32L       ERROR_SHARING_VIOLATION


← →
Дилетант   (2004-06-27 17:08) [11]

Т.е. ошибка доступа (по русски). Странно, а почему же тогда Reset не вызывает этой ошибки?


← →
Дилетант   (2004-06-27 17:20) [12]

Спасибо raidan и Anatoly Podgoretsky ©. Подали идею. Да действительно нет доступа. Файл занимается побочным процесом. Исправил. Работает.
Перед закрытием ветки удовлетворите всё же моё любопытство - ПОЧЕМУ РАБОТАЛ RESET? Он же в принципе доступ получает так же как и REWRITE?


← →
Anatoly Podgoretsky ©   (2004-06-27 17:23) [13]

Да получает через одно и тоже АПИ, но откуда следует, что тот же самый?


← →
raidan   (2004-06-27 17:30) [14]

ReWrite сразу затирает содержимое файла ака пересоздает...
А Reset - нет.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
3-1087185938
JB
2004-06-14 08:05
2004.07.11
Установка BDE


14-1087981579
ArhDD
2004-06-23 13:06
2004.07.11
Создание среды разработки при помощи WinApi


1-1087997689
XeLax
2004-06-23 17:34
2004.07.11
преобразовать строку


3-1087472158
Top100
2004-06-17 15:35
2004.07.11
Изменение рамеров.


14-1088018246
_ALEX_
2004-06-23 23:17
2004.07.11
Update Delphi 7




   Наверх