![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где ошибка? [D7, XP]
parasolka © (2006-10-04 10:47:00)Пишу dll, но в одном месте возникает ошибка. Вот кусок кода:
AssignFile(Card, TempDir+'Patient\patient.txt');
Reset(Card);
try
while not Eof(Card) do begin
Readln(Card, szTmp1);
end;
finally
CloseFile(Card);
end;
Ошибка в строкеwhile not Eof(Card) do begin
[Error] main.pas(714): Missing operator or semicolon
В обычном проекте ошибки нет. Card - TextFile. Помогите, пожалуйста, разобраться.
clickmaker (2006-10-04 11:58:00) [1]
> [8] parasolka © (04.10.06 11:27)
не стоит увлекаться вложенными with
Трудно потом блох ловить
parasolka (2006-10-04 11:27:00) [2]Я понял в чем дело. У меня этот кусок кода располагался в блоке
with Query do, где Query: TQuery, поэтому компилятор воспринимал Eof как свойство Query.
parasolka (2006-10-04 11:24:00) [3]Все, спасибо.
System.Eof(Card)помогло.
Amoeba (2006-10-04 11:19:00) [4]
> Вот что странно. Функции для работы с файлами, которые я
> использую находятся в модуле System, а он в uses не включен,
> при этом нет ошибки - "неизвестный идентификатор". Если
> же добавить system в uses, то возникает ошибка:
> [Error] main.pas(5): Identifier redeclared: 'System'.
Так и должно быть. Модуль System всегда автоматически подключается по умолчанию. Так что возмущение компилятора абсолютно справедливо.
Palladin (2006-10-04 11:19:00) [5]значит название метода процедуры свойства... емае.. поищи в своих именах идентификаторов...
если не найдешь то думаю прямое указание System.Eof(f) спасет ОРД
p.s. system всегда неявно подключается к любому модулю без указания его в uses
parasolka (2006-10-04 11:15:00) [6]Переменной eof у меня нет. Вот что странно. Функции для работы с файлами, которые я использую находятся в модуле System, а он в uses не включен, при этом нет ошибки - "неизвестный идентификатор". Если же добавить system в uses, то возникает ошибка:
[Error] main.pas(5): Identifier redeclared: 'System'.
Еще интерестно - если заменитьEof(Card)на простоEof, то ошибки нет.
Palladin (2006-10-04 10:57:00) [7]и для textfile используется append либо rewrite
Palladin (2006-10-04 10:52:00) [8]пересмотри названия переменных, вдруг у тебя там там eof
Dmitrij_K (2006-10-04 10:50:00) [9]Ошибка в другом месте.