Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
2-1243432407
Darvin
2009-05-27 17:53
2009.07.26
Странное поведение FindDialog


15-1242986129
@!!ex
2009-05-22 13:55
2009.07.26
Преобразовать координаты точки из одной СК в другую


4-1213253318
DJ Kondakov
2008-06-12 10:48
2009.07.26
Отследить выгрузку DLL-ки


2-1243667222
Иван
2009-05-30 11:07
2009.07.26
Многострочный текст в константах


2-1243760229
HRustBB
2009-05-31 12:57
2009.07.26
модальный вызов формы из длл