![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Код:
procedure TForm1.N5Click(Sender: TObject); var searchResult : TSearchRec; begin SetCurrentDir(CurDir+'\data'); if FindFirst('*.tms', faAnyFile, searchResult) = 0 then begin repeat AssignFile(Anketa1,searchResult.Name); {$IOChecks off} Reset(Anketa1); Read(Anketa1,Anketa); CloseFile(Anketa1); {$IOChecks on} Load1.ListBox1.Items.Add(Anketa.FIO[1]+' '+Anketa.FIO[2]); until FindNext(searchResult) <> 0; Load1.Visible := True; FindClose(searchResult); End; end; В данном представлении все работает абсолютно нормально но если включить проверку ошибок то вылазит I/O error 183 при выполнении Reset, Read или Close операторов Последний раз редактировалось Gad99, 27.02.2008 в 21:57. |
#2
|
||||
|
||||
![]() Если мне не изменяет файл, то ошибка "183" - означает ошибку при создании файла. Ты не объявил "Anketa1" в разделе var, как файл. Вот и прога не может создать файл и ты не можешь выполнить операции с файлом - Reset, Read или Close.
Программирование - это искусство и наш смысл жизни. Последний раз редактировалось moo2k, 28.02.2008 в 13:28. |
#3
|
|||
|
|||
![]() 1) Переменная объявлена как глобальная
2) Неужели если бы переменная не была объявлена вообще то с отключенной проверкой ошибок все бы работало как часы ? |
#4
|
||||
|
||||
![]() Цитата:
![]() --------------------------------------------- Программирование - не профессия, а стиль жизни |
#5
|
||||
|
||||
![]() Приведен абсолютно работоспособный код. Т.к. файлова переменная глобальная, то существует отличная от нуля вероятность, что в на момент выполнения этого кода она уже связана с файлом и файл открыт. Вообще для подобных операций глобальные переменные использовать не следует.
|
#6
|
|||
|
|||
![]() Дык пробовал объявлять локальную файловую переменную а толку ноль, компилятор все равно ругается
![]() |
#7
|
|||
|
|||
![]() Код:
SetCurrentDir(CurDir+'\data\'); Вот так поставь... тут путь не правильный... И будет тебе счастье... |