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

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

Директивы компилятора


misha_gr ©   (2006-08-22 12:48:00) 

В исходном тексте есть такие строчки:

{$IFDEF BD5}
 function adler32; external;
{$ELSE}
 {$IFDEF BD4}
   procedure adler32; external;
 {$ENDIF}
{$ENDIF}

Так как я пытаюсь откомпилировать под BDS2006, компилятор
ругается, что мол, unsatisfied forward or external declaration.
Как написать код, чтобы начиная с Delphi 5 и выше, компилился нужным образом?

И еще, как написать код, чтобы начиная с Delph 7 и выше в секцию uses вставлялся юнит Variants?


Anatoly Podgoretsky   (2006-08-22 16:52:00) [1]

Но обычно создают определение BD4_UP


Anatoly Podgoretsky   (2006-08-22 16:48:00) [2]

{$IFDEF VER150}
{$define} BD5
{$ELSE}
  {$IFDEF VER160}
    {$define} BD5

и так далее
Обычно это делают в инклуд файлах определяют версию Дельфи и по резултатам создают новое определение


misha_gr   (2006-08-22 16:41:00) [3]


> Ketmar ©   (22.08.06 16:10) [5]
> правильно. разве у BDS версия компилятора -- 15? запусти dcc32.exe
> почитай.


эгх... чудесно... теперь возник вопрос, как ту инфу, которая пробежала в MS DOSовском окне прочитать постранично )))

Впрочем,  простым пребором я уже установил, для DBS - VER180.
Но вопрос был сформулирован:

> Как написать код, чтобы начиная с Delphi 5 и выше,
> компилился нужным образом?


Ketmar   (2006-08-22 16:10:00) [4]

> [4] misha_gr   (22.08.06 14:15)
правильно. разве у BDS версия компилятора -- 15? запусти dcc32.exe, почитай.


misha_gr   (2006-08-22 14:15:00) [5]

[4]

написал:

uses
{$IFDEF VER150}
 Variants,
{$ENDIF}
 ...;

Попробовал в D5 - отрабатывает правильно. В BDS2006 - неправильно.


misha_gr   (2006-08-22 13:35:00) [6]


> {$IFDEF BD5}
>  function adler32; external;
> {$ENDIF BD5}
>
> {$IFDEF BD4}
>   procedure adler32; external;
> {$ENDIF BD4}


Нет, не будет правильно работать. Суть вопроса читать умеем?


clickmaker   (2006-08-22 13:12:00) [7]


> И еще, как написать код, чтобы начиная с Delph 7 и выше
> в секцию uses вставлялся юнит Variants?

{$IFDEF VER150}


Loginov Dmitry_   (2006-08-22 12:53:00) [8]

{$IFDEF BD5}
 function adler32; external;
{$ENDIF BD5}

{$IFDEF BD4}
  procedure adler32; external;
{$ENDIF BD4}


Наверх

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