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

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

Директива $IFDEF [D5, Win2k]


Страницы:   1 2 3

first_may ©   (2006-11-08 11:54:00) 

Добрый день!

У меня есть некоторый модуль Test.pas, который я использую в нескольких проектах. В одном из проектов мне надо в модуль Test.pas подключит дополнительный модуль Proba.pas таким образом, что бы другие проекты нормально компилировались с учетом того, что в них нет этого Proba.pas. Я делаю так

implementation

{$IFDEF Proba.dcu}
 uses Proba;
{$ENDIF}

...

{$IFDEF Proba.dcu}
 ... // здесь функция из модуля Proba.pas
{$ENDIF}

Правильно ли я делаю?


first_may   (2006-11-08 15:45:00) [21]

не вижу ошибки...


Плохиш   (2006-11-08 15:45:00) [22]

Рыдал....


evvcom   (2006-11-08 15:37:00) [23]

> [20] first_may ©   (08.11.06 15:35)

языка. А язык Паскаль называется или Object Pascal.


first_may   (2006-11-08 15:35:00) [24]

Основ чего?


Плохиш   (2006-11-08 15:25:00) [25]


> implementation
>
> usesMainVar, Base;
>
> {$IFDEF Proba.dcu}
> usesProba;
> {$ENDIF}

Я догадывался :-) Не буду я ему ничего говорить, пока не изучит основ.


Ketmar   (2006-11-08 14:57:00) [26]

а дятлы всё долбили легированую сталь...


first_may   (2006-11-08 14:54:00) [27]

вот кусок кода Test.pas:

...

implementation

uses MainVar, Base;

{$IFDEF Proba.dcu}
uses Proba;
{$ENDIF}

ниже идет процедура

procedure ...
begin
 ...
 {$IFDEF Proba.dcu}
 ... // здесь функция из модуля Proba.pas
 {$ENDIF}
 ...
end;

прописал в
Project->Options->Directories/Conditionals->Conditional Defines
Proba.dcu

после всего этого, функция внутри из модуля Proba.pas не вызывается.


Anatoly Podgoretsky   (2006-11-08 14:52:00) [28]

> icWasya  (08.11.2006 14:14:15)  [15]

Может стоит сначала от точки избавиться, имя идентификатора не может включать точку, логически здесь получается модуль Proba в нем идентификатор dcu
Поскольку за это время он ни разу не прислушался к данной рекомендации, то надо просто прекратить отвечать и ждать, ждать, ждать


icWasya   (2006-11-08 14:14:00) [29]

first_may ©   (08.11.06 12:39) [10]
>теперь при компиляции говорит
>[Error] Vocabses.pas(127): Declaration expected but 'USES' found

а какой текст вокруг
{$IFDEF Proba.dcu}
uses Proba;
{$ENDIF}
? - приведи пару строчек до и после


Anatoly Podgoretsky   (2006-11-08 14:07:00) [30]

> first_may  (08.11.2006 13:16:13)  [13]

Чего не надо, не говори загадками


first_may   (2006-11-08 13:16:00) [31]

не надо было писать?


Anatoly Podgoretsky   (2006-11-08 12:56:00) [32]

> first_may  (08.11.2006 12:39:10)  [10]

Точка не смущает тебя?


Плохиш   (2006-11-08 12:52:00) [33]


> теперь при компиляции говорит
> [Error] Vocabses.pas(127): Declaration expected but 'USES'
> found

У тебя синтаксическая ошибка в коде.

PS. Сдержался...


first_may   (2006-11-08 12:39:00) [34]

прописал в
Project->Options->Directories/Conditionals->Conditional Defines
модуль
Proba.dcu

теперь при компиляции говорит
[Error] Vocabses.pas(127): Declaration expected but 'USES' found


Anatoly Podgoretsky   (2006-11-08 12:31:00) [35]

> а где связь с юнитом?

Дык смотри первый IF


Anatoly Podgoretsky   (2006-11-08 12:30:00) [36]

> first_may  (08.11.2006 12:18:03)  [3]

> А вот это зачем:

Для того чтобы у тебя останавливалось внутри блока


Anatoly Podgoretsky   (2006-11-08 12:29:00) [37]

> Плохиш  (08.11.2006 12:06:01)  [1]

> Да. А что смущает?

Наверно точка


Плохиш   (2006-11-08 12:28:00) [38]


> first_may ©   (08.11.06 12:26) [5]
> именно подчеркивание? а где связь с юнитом?

Директивы компилятора никакне связаны с какими-то там юнитами, это как "котлеты отдельно и мухи отдельно"

PS. Сдержался :-)


first_may   (2006-11-08 12:26:00) [39]

именно подчеркивание? а где связь с юнитом?


Плохиш   (2006-11-08 12:21:00) [40]


> first_may ©   (08.11.06 12:18) [3]
> А вот это зачем:

А чтобы определить директиву Proba_dcu для компилятора.


Страницы:   1 2 3

Наверх

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