|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.11.2011, 20:00 | #1 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
###I/O 32/103/123
Объясните пожалуйста, в чем ошибка? Что не делаю, все время выдает ошибку... то I/O 32, то I/O 103, то I/O 123...((
Код:
Код:
Если лень что-то делать, заставь это делать машину ... =,
Последний раз редактировалось rpy3uH; 30.11.2011 в 21:08. |
30.11.2011, 20:20 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Код:
|
30.11.2011, 20:26 | #3 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
Код:
Если лень что-то делать, заставь это делать машину ... =,
|
30.11.2011, 21:07 | #4 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
FileOfData ассоциируется с FileNameIs на протяжении всей программы
Если лень что-то делать, заставь это делать машину ... =,
|
30.11.2011, 21:56 | #5 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Учись делать нормальную обработку ошибок.
I/O error 32 = ERROR_SHARING_VIOLATION - файл уже кем-то открыт (возможно - тобою же) I/O error 103 = "File not open" - возбуждается CloseFile, Read Write, Seek, Eof, FilePos, FileSize, Flush, BlockRead или BlockWrite, если файл не открыт. I/O error 123 = ERROR_INVALID_NAME - неверно указано имя файла (возможная причина - не был вызван AssignFile).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
30.11.2011, 22:06 | #6 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Далее, по коду: написан бред.
1. Где AssignFile до начала цикла? У тебя первым действием идёт Reset на неинициализированную переменную. Неудивительно, что его вызов даст что угодно - ведь ты суёшь Reset мусор. Далее, если вызов (случайно) завершился успешно (т.е. IOResult = 0), то ты: 2. Изменяешь FileNameIs и заново вызываешь AssignFile - на уже открытый файл! (ветка else). 3. Если же вызов Reset завершился ошибкой (что более вероятно, ведь ты суёшь ему ерунду), то ты просто открываешь файл и начинаешь в него писать данные, как если бы всё было нормально O_o
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось GunSmoker; 30.11.2011 в 22:14. |
30.11.2011, 22:22 | #7 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
...вот тогда весь код моей программы... мб так будет понятней...*scratch*
Код:
Если лень что-то делать, заставь это делать машину ... =,
|
30.11.2011, 22:23 | #8 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
Код:
Если лень что-то делать, заставь это делать машину ... =,
|
30.11.2011, 22:50 | #9 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
Все, спасибо. Я нашел свои ошибки.
Во-первых я использовал "левую" переменную. Вместо NUM подставил N. Получалось одно и то же имя. Во-вторых не обнулил переменную F, в которой, собственно и заисывался новый адресс... В результате получалось 'C:\<address 1>C:\<address 2>'
Если лень что-то делать, заставь это делать машину ... =,
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access Violation и I/O error 103 без видимых причин | whatever | Помощь студентам | 2 | 10.12.2010 08:50 |
Почему через раз вылазить ошибка I/O 103? | Marsel737 | Общие вопросы Delphi | 9 | 23.10.2010 00:34 |