Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Где ошибка?   Найти похожие ветки 

 
parasolka ©   (2006-10-04 10:47) [0]

Пишу 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. Помогите, пожалуйста, разобраться.


 
Dmitrij_K   (2006-10-04 10:50) [1]

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


 
Palladin ©   (2006-10-04 10:52) [2]

пересмотри названия переменных, вдруг у тебя там там eof


 
Palladin ©   (2006-10-04 10:57) [3]

и для textfile используется append либо rewrite


 
parasolka ©   (2006-10-04 11:15) [4]

Переменной eof у меня нет. Вот что странно. Функции для работы с файлами, которые я использую находятся в модуле System, а он в uses не включен, при этом нет ошибки - "неизвестный идентификатор". Если же добавить system в uses, то возникает ошибка:
[Error] main.pas(5): Identifier redeclared: "System".

Еще интерестно - если заменить Eof(Card) на просто Eof, то ошибки нет.


 
Amoeba ©   (2006-10-04 11:19) [5]


> Вот что странно. Функции для работы с файлами, которые я
> использую находятся в модуле System, а он в uses не включен,
>  при этом нет ошибки - "неизвестный идентификатор". Если
> же добавить system в uses, то возникает ошибка:
> [Error] main.pas(5): Identifier redeclared: "System".

Так и должно быть. Модуль System всегда автоматически подключается по умолчанию. Так что возмущение компилятора абсолютно справедливо.


 
Palladin ©   (2006-10-04 11:19) [6]

значит название метода процедуры свойства... емае.. поищи в своих именах идентификаторов...

если не найдешь то думаю прямое указание System.Eof(f) спасет ОРД

p.s. system всегда неявно подключается к любому модулю без указания его в uses


 
parasolka ©   (2006-10-04 11:24) [7]

Все, спасибо. System.Eof(Card) помогло.


 
parasolka ©   (2006-10-04 11:27) [8]

Я понял в чем дело. У меня этот кусок кода располагался в блоке
with Query do, где Query: TQuery, поэтому компилятор воспринимал Eof как свойство Query.


 
clickmaker ©   (2006-10-04 11:58) [9]


> [8] parasolka ©   (04.10.06 11:27)

не стоит увлекаться вложенными with
Трудно потом блох ловить



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
4-1149690789
Kliman
2006-06-07 18:33
2006.10.22
Передача сообщения другому приложению


15-1159252551
Курдль
2006-09-26 10:35
2006.10.22
"Графическое наследование ДатаСэтов" в Delphi .NET


15-1159362327
Konstantin555
2006-09-27 17:05
2006.10.22
Проблема с записью 2-х сторонних DVD-дисков


2-1160035684
Megabyte
2006-10-05 12:08
2006.10.22
Обработка исключения


9-1137462771
Strech
2006-01-17 04:52
2006.10.22
ошибка в DirectX Release