![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при попытке записи на read-only диск
Ell © (2006-01-26 14:14:00)Программа при выходе должна записывать переменные в свою папку. Если же программа расположена на read-only носителе (например, CD или DVD), естественно, от попыток записи надо отказаться.
Пытаюсь сделать так:
sc_readonly:=false;
AssignFile(f, CFGFile);
Rewrite(f);
try
BlockWrite(f,GrayDays,1);
except
sc_readonly:=true;
end;
if not sc_readonly then
begin
BlockWrite(f,FullMode,1);
BlockWrite(f,Marked1Y,2);BlockWrite(f,Marked1M,1);BlockWrite(f,Marked1D,1);
BlockWrite(f,Marked2Y,2);BlockWrite(f,Marked2M,1);BlockWrite(f,Marked2D,1);
end;
CloseFile(f);
Записал на диск, запустил. При закрытии программы (записать данные она всё же пытается!), сообщение "File access denied" и приходится закрывать только через "Диспетчер задач".
Что делаю неправильно? Наверное, чего-то не хватает между exceptи end;?
Desdechado (2006-01-26 15:35:00) [1]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1138092905&n=0
Ell (2006-01-26 14:48:00) [2]> stone © (26.01.06 14:25) [2]
> Rewrite(f) перенеси после try
Я перед тем, как задать вопрос пробовал Rewrite(f); поместить между try и except, а BlockWrite(f,GrayDays,1); - к остальным BlockWrite. Выдаётся сообщение, что-то вроде: "I/O error 103"
stone (2006-01-26 14:25:00) [3]Rewrite(f) перенеси после try
Fay (2006-01-26 14:19:00) [4]{$I-} ?