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

Ошибка при попытке записи на read-only диск   Найти похожие ветки 

 
Ell ©   (2006-01-26 14:14) [0]

Программа при выходе должна записывать переменные в свою папку. Если же программа расположена на 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;?


 
Fay ©   (2006-01-26 14:19) [1]

{$I-} ?


 
stone ©   (2006-01-26 14:25) [2]

Rewrite(f) перенеси после try


 
Ell ©   (2006-01-26 14:48) [3]

> stone ©   (26.01.06 14:25) [2]
> Rewrite(f) перенеси после try


Я перед тем, как задать вопрос пробовал Rewrite(f); поместить между try и except, а  BlockWrite(f,GrayDays,1); - к остальным BlockWrite. Выдаётся сообщение, что-то вроде: "I/O error 103"


 
Desdechado ©   (2006-01-26 15:35) [4]

http://delphimaster.net/view/1-1138092905/



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

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



Память: 0.45 MB
Время: 0.031 c
15-1138184621
Харько
2006-01-25 13:23
2006.02.12
help файл для MEMProof


15-1137669430
boriskb
2006-01-19 14:17
2006.02.12
Я здесь сисадминов встречал...


1-1136895142
TAN_K
2006-01-10 15:12
2006.02.12
Печать текстового файла DOS на лазерный принтер средствами Delpfi


1-1136843189
dmk
2006-01-10 00:46
2006.02.12
Функция из DLL не вызывается


2-1138270311
Alex7
2006-01-26 13:11
2006.02.12
Функция Locate




   Наверх