Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где ошибка? [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]

Ошибка в другом месте.


Наверх

Титульная страница Поиск, карта сайта Написать письмо