Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизDriverComboBox Найти похожие ветки
← →
сергей (2009-05-29 08:29) [0]На форме используется DriverComboBox.
Проблема в том, что после попытки обращения к дисководу (или CD) без диска возникает ошибка при последующем открытии файла на дисе С.
Assign(...
Rewrite(...
Никак не могу от этого избавиться.
С уважением, Сергей.
← →
Сергей М. © (2009-05-29 08:32) [1]
> возникает ошибка при последующем открытии файла на дисе
> С
Вот так вот дословно и говорит, мол, я, ошибка, возникаю ?)
И никаких комментариев по поводу своего возникновения не оставляет ?
← →
Сергей (2009-05-29 08:47) [2]Ошибка I/O error 21.
← →
Сергей М. © (2009-05-29 08:54) [3]
> I/O error 21
Значит при Assign() ты осуществляешь обращение отнюдь не HD-, а к флоппи- или CD-драйву, ни в один из которых не вставлен носитель.
← →
Dennis I. Komarov © (2009-05-29 09:00) [4]
> сергей (29.05.09 08:29)Assign(f, "filename.ext");
Поткуда по твоему программа будет брать filename.exe файл?
← →
Сергей (2009-05-29 09:10) [5]Уточняю.
Обращение к файлу на диске С.
Assign(FE, DirExe+"temp.txt");
Rewrite(FE);
Writeln(FE, ...
Разумеется все работает. Но после попытки обращения к пустому дисководу в DriverComboBox возникает ошибка. Причем Rewrite() выполняется (файл обнуляется) и выдается ошибка error 21. Такое ощущение, что после неудачной попытки надо принудительно перейти на диск С по типу ChDir, но не знаю как это сделать.
← →
Сергей М. © (2009-05-29 09:16) [6]
> Обращение к файлу на диске С
Где в приведенном коде фигурирует хоть что-либо, на основании чего можно убедиться, что в переменной DirExe содержится путь относительно именно устройства C: и никакого другого ?
> Причем Rewrite() выполняется.. и выдается
> ошибка error 21
Так не бывает.
Возникновение ошибки противоречит утверждению об успешном выполнении процедуры.
← →
Smile (2009-05-29 09:25) [7]А почему бы не использовать директивы:
{$I-}
...
Rewrite(...
...
{$I+}
и анализироватьIOResult
?
← →
Сергей М. © (2009-05-29 09:32) [8]
> Smile (29.05.09 09:25) [7]
А какая принципиальная разница ?
Ошибка при выполнении Rewrite либо есть либо ее нет.
А уж в каком виде осуществляется обнаружение факта ошибки - в виде исключения или в виде кода отказа - то дело второе и не суть какое важное.
← →
Dennis I. Komarov © (2009-05-29 10:40) [9]Что показывает отладчик по поводу значения DirExe?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c