Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при попытке записи на 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-} ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо