![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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\'); Вот так поставь... тут путь не правильный... И будет тебе счастье... |
|
#8
|
|||
|
|||
|
Нифига подобного
все равно вылазит ошибка.Ну дак что больше нет вариантов ??? Последний раз редактировалось Gad99, 02.03.2008 в 19:39. |