Ошибка в Delphi
1594 повідомлення
#16 років тому
Есть ли где-нибудь описание ВСЕХ возможных типов исключений, возникающих в Delphi, и возможных причин их появления?Если да - подскажите, пожалуйста.
Если нет - то подскажите что-нибудь насчёт такой ошибки:
I/O error 32.
Понятно, что ошибка ввода-вывода в файл.
Ругается на строчку
reset(f);
AssignFile(f, AppName);
Reset(AppName);
599 повідомлень
#16 років тому
Это ошибка ввода-вывода. Возникать она может по разным причинам, например, нет открываемого файла, файл уже кем-то используется.
1594 повідомлення
#16 років тому
Файл есть точно так как этот код внутри условия if(FileExists(AppName))
then
......
Да вроде всё проверил. CloseFile(f); Присутствует везде...
А что там насчёт описания всех ошибок?
50 повідомлень
#16 років тому
А "AppName" это у вас что? если имя запущенного приложения, то кол-во clos'ов не имеет значения-файл всё равно будет в использовании.
1594 повідомлення
#16 років тому
Нет, AppName - это файл проекта, который создаётся прогой.Просто раньше работало. Не помню что-то изменил - глючить начало
322 повідомлення
#16 років тому
Может глупое предложение. Reset(f) я бы написалКусок из хелпа
var
F: file;
begin
{$I-}
AssignFile(F, FileName);
FileMode := 0; {Set file access to read only }
Reset(F);
CloseFile(F);
{$I+}
FileIsThere := (IOResult = 0) and (FileName <> ''

end; { FileIsThere }
278 повідомлень
#16 років тому
Народ а повнимательнее к коду никто не присматривался 
AssignFile(f, AppName);
Reset(AppName);
попробуйте написать так
AssignFile(f, AppName);
Reset(f);
1594 повідомлення
278 повідомлень
#16 років тому
В догонку, попробуйте такой вариант:var
f:textfile;
begin
try
AssignFile(f,'1.txt');
reset(f);
closeFile(f);
except
on E:Exception do ShowMessage(E.ClassName+' '+E.Message)
end;
end;
1594 повідомлення
#16 років тому
А смысл?Ошибки это не исправит - только покажет класс ошибки. А класс ошибки и так известен
48 повідомлень
#16 років тому
Anexroid пройдись по всему коду программы, продумай логику выполнения всех процедур и функций, и проверь везде ли ты закрывал файл. Ошибка только в этом.
1594 повідомлення
#16 років тому
Цитата:Есть ли где-нибудь описание ВСЕХ возможных типов исключений, возникающих в Delphi, и возможных причин их появления?
Может ссылочку всё-таки кто-нибудь подкинет? На будущее
626 повідомлень
#16 років тому
Как вариант - помониторить FileMon'ом и посмотреть что именно происходит с файлом. Заодно виндовый код ошибки увидите - он более информативен.
1895 повідомлень
#16 років тому
I/O error 32Цитата:
ERROR_SHARING_VIOLATION: Файл существует, но используется другим приложением...
используйте более гибкий FileStream.
4607 повідомлень
#16 років тому
Уважаемый Anexroid, чудес не бывает. Посмотрите свой код еще раз, может быть Вы уже переприсвоили значение переменной AppName, открыли для других целей и забыли, а здесь думаете о новом файле (например AppNameNew) но продолжаете настойчиво использовать старое имя.Не спешите и все получится.