Главная страница
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.032 c
3-1156772682
novill
2006-08-28 17:44
2006.10.22
Кто знает где IBExpert хранит рег. информация по базам?


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


2-1159359502
Rustam
2006-09-27 16:18
2006.10.22
Индекс


2-1159858909
DevilDevil
2006-10-03 11:01
2006.10.22
OnClick() VS OnDblClick()


15-1159789639
Quester
2006-10-02 15:47
2006.10.22
Сложная программа