![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
![]()
Объясните пожалуйста, в чем ошибка? Что не делаю, все время выдает ошибку... то I/O 32, то I/O 103, то I/O 123...((
Код:
Код:
Если лень что-то делать, заставь это делать машину ... =,
Последний раз редактировалось rpy3uH; 30.11.2011 в 21:08. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,724
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
![]() Код:
Если лень что-то делать, заставь это делать машину ... =,
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
![]()
FileOfData ассоциируется с FileNameIs на протяжении всей программы
Если лень что-то делать, заставь это делать машину ... =,
|
![]() |
![]() |
![]() |
#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++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
![]()
...вот тогда весь код моей программы... мб так будет понятней...*scratch*
Код:
Если лень что-то делать, заставь это делать машину ... =,
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
|
![]() Код:
Если лень что-то делать, заставь это делать машину ... =,
|
![]() |
![]() |
![]() |
#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 |