Александр
6.06.2003 11:37
Привет Всем!
Проблема
Программа реального времени, данные хранятся в файле на диске, DOS. При событии счетчики событий увеличиваются и в записываются в файл, а дальше идет обработка. Если в это время выйти из программы по keypress(не стоит close(f1) ) , то все работает отлично. Если выключить питание (причем бывает с задержкой в 1-2 секунды), то иногда запоминается, а иногда нет.
Сталкивался ли кто с этим, сделал ли
Заранее благодарен
Щербаков Александр
Александр
6.06.2003 16:55
К вышесказанному хочу добавить:
Открытие файла делаю так
assign(f1,'aaa.aa');
reset(f1);
считываю данные
Для записи
n:=3;
seek(f1,n);
vv:=1;
write(f1,vv);
close(f1);
reset(f1);
Пробовал перед записью добовлять reset(f1) - не помогает
Пробовал перед записью добовлять rewrite - после выкл. питания
портятся файлы.
Windows кеширует записываемые данные, а ты как видно тут же открываешь файл и Windows считает что с записью можно подождать...
Возможно и не в этом дело, это тока предположение...
Вроде как он под голым ДОС'ом запускает?? Версию ДОС тогда напиши и есть ли smartdrv (драйвер такой под ДОС - кеш ЖД)?? Просто писать прогу-realtime (+там видать ишшо и порты замешаны) на паскале под виндой - хрень...
Александр
9.06.2003 12:09
DOS 6.2
Smartdrv есть.Попробую с ним поиграть
Спасибо за идею.
Его вообще нужно убрать и вообще такие проги лучше писать без какой-либо ОС... Если конечно все юзается только по минимуму (вывод на экран и работа с портами).
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.