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

Вниз

Директива INCLUDE   Найти похожие ветки 

 
Катерина   (2002-04-01 09:26) [0]

Хочу некоторые процедуры записать отдельным файлом PROC.INC и затем включить этот файл в модуль: {$I PROC.INC} (в ПАСКАЛЕ это проходило), но при компиляции требуется UNIT во включаемом файле, USES, описание проседур, переменных и пр. Как бы этого извежать?


 
Alx2 ©   (2002-04-01 09:47) [1]

Если я праильно понял, то
unit u1;
interface
implementation
{$I PROC.INC}
end.


 
Катерина   (2002-04-01 09:51) [2]

Да, типа этого:
unit u1;
interface
implementation
{$I PROC.INC}
end.
A файл PROC.INC:
procedure P1;
begin
...
end;
procedure P2;
begin
...
end;


 
Alx2 ©   (2002-04-01 09:59) [3]

Можно попробовать вставить Proc.inc в нужное место вручную и посмотреть на реакцию компилятора. Когда все устаканится/исправится, поправить содержимое Proc.inc (или добавить в секцию uses хоста нехватающие запчасти) и все вернуть на круги своя


 
Катерина   (2002-04-01 10:08) [4]

Модуль был откомпилирован и работал до того, как я разделила его на два файла (уж очень большой был исходник). А после раздела компилятор ругается, что INC-файл не начинается с UNIT. Я его, покривя душой, вставила, но тогда он стал требовать описание типов и переменных в INC-файле, котроые описаны в INTERFACE модуля. А через USES ой как не хочется.


 
Alx2 ©   (2002-04-01 10:15) [5]

Все это как-то странно. Похоже, что директива {$I PROC.INC} идет в самом начале модуля (по крайней мере до того места, где описано все необходимое)


 
Катерина   (2002-04-01 10:18) [6]

Нет, в IMPLEMENTATION. Все, как в написанном выше примере.


 
Катерина   (2002-04-01 10:21) [7]

Может какие опции надо указать при при компиляции проекта?


 
Anatoly Podgoretsky ©   (2002-04-01 10:29) [8]

А может тебе лучше разбить модуль на отдельные модули, вставка это не подарок.


 
panov ©   (2002-04-01 10:29) [9]

>Катерина
А как же без использования USES?

Компилятору требуется описание констант, типов, классов.
Тогда уж включай те модули, в которых описаны требуемые типы, прямо в PROC.INC.


 
Alx2 ©   (2002-04-01 10:33) [10]

>Катерина (01.04.02 10:18)
А после implementation uses есть?
Хотя это все уже как-то по-дурацки начинает выглядеть :))


 
Anatoly Podgoretsky ©   (2002-04-01 10:35) [11]

USES для включаемого файла не требуется, включается как есть, есть небольшое ограничение, нельзя в теле процедуры.


 
Катерина   (2002-04-01 10:40) [12]

Не работает!!!


 
Alx2 ©   (2002-04-01 10:46) [13]

Тогда давайте посмотрим начало модуля (до того места, где $I).
И, собственно, Proc.Inc (до того места, где компилятор лаяться начинает)


 
Катерина   (2002-04-01 10:49) [14]

Господа! Простите Бога ради, что ввела вас в заблуждение: я не заметила, что файл PROC.INC добавился к проекту. Когда я его из проекта удалила, оставила только в модуле {$I PROC.INC} все пошло! Спасибо.


 
Alx2 ©   (2002-04-01 10:55) [15]

Типа, с 1 апреля! :)



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
1-32890
DikobraZ
2002-03-29 15:52
2002.04.11
JPG в буфер!


3-32634
AndrewK
2002-03-19 09:55
2002.04.11
Как перевести программу с BDE на ADO


1-32855
sammy
2002-03-29 07:11
2002.04.11
обработать OnClick


3-32675
grabovsky
2002-03-20 16:31
2002.04.11
событие двойного щелчка


14-32949
IronHawk
2002-02-22 16:23
2002.04.11
Мастера Delphi ! ПРО САЙТ И ЕГО ОБИТАТЕЛЕЙ !