C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Версия Builder
AVC
Отправлено: 30.03.2005, 08:59


Ветеран

Группа: Модератор
Сообщений: 1583



Виже в Delphi такие строки
CODE

{$IFDEF VER100} { Borland Delphi 3.0 }
{$IFDEF VER110} { C++Builder 3.0 }
{$IFDEF VER120} { Borland Delphi 4.0 }
{$IFDEF VER125} { CPP Builder 4.0 }
{$IFDEF VER130} { Borland Delphi 5.0 or CPP Builder 5.0 }
{$IFDEF VER140} { Borland Delphi 6.0 or CPP Builder 6.0}
{$IFDEF VER150} { Borland Delphi 7.0 }


Хочу повтрить в Builder и ни чего подобного не могу найти. Может не там ищу?
Строки VER130 и VER110 вижу в файлах из каталога BIN Builder5 и 3 соответственно.
Может кто сталкивался?
Gedeon
Отправлено: 30.03.2005, 12:39


Ветеран

Группа: Модератор
Сообщений: 1742



Я так подозреваю, что аналог этого сишный
CODE

#ifdef VER140
ShowMessage("D6 || BCB6");
#endif

Однако на 6 не работает, еще я отрыл эту проверку в дэльфийском коде кучи компанентов такие, как инди, адвстргрид, зиптв и т.д. и судя по коду, там проверяется именно версия среды, может это работает при компиляции именно компонентов? Щас поищу.
avc*
Отправлено: 30.03.2005, 12:59


Не зарегистрирован







QUOTE

#ifdef VER140
ShowMessage("D6 || BCB6");
#endif


Естественно это было проверено в первую очередь smile.gif . Не работает.
Актуально встала проблема написания кода для разных версий Builder'а.
Gedeon
Отправлено: 30.03.2005, 13:01


Ветеран

Группа: Модератор
Сообщений: 1742



Вот что нашел в фастрепорте, тут вроде более подробно расписано
CODE

{$IFDEF VER90}       // Delphi 2.0
 {$DEFINE Delphi2}
{$ENDIF}

{$IFDEF VER100}      // Delphi 3.0
 {$DEFINE Delphi3}
{$ENDIF}

{$IFDEF VER120}      // Delphi 4.0
 {$DEFINE Delphi4}
{$ENDIF}

{$IFDEF VER130}      // Delphi 5.0
 {$DEFINE Delphi4}
 {$DEFINE Delphi5}
{$ENDIF}

{$IFDEF VER140}      // Delphi 6.0
 {$DEFINE Delphi4}
 {$DEFINE Delphi5}
 {$DEFINE Delphi6}
{$ENDIF}

{$IFDEF VER150}      // Delphi 7.0
 {$DEFINE Delphi4}
 {$DEFINE Delphi5}
 {$DEFINE Delphi6}
 {$WARN UNSAFE_CODE OFF}
{$ENDIF}

{$IFDEF VER93}       // Borland C++ Builder 1.0
 {$DEFINE Delphi2}
{$ENDIF}

{$IFDEF VER110}      // Borland C++ Builder 3.0
 {$DEFINE Delphi3}
 {$ObjExportAll on}
{$ENDIF}

{$IFDEF VER125}      // Borland C++ Builder 4.0
 {$DEFINE Delphi4}
 {$ObjExportAll on}
{$ENDIF}

{$IFDEF VER130}      // Borland C++ Builder 5.0
{$IFDEF BCB}
 {$ObjExportAll on}
{$ENDIF}
{$ENDIF}

{$IFDEF VER140}      // Borland C++ Builder 6.0
{$IFDEF BCB}
 {$ObjExportAll on}
{$ENDIF}
{$ENDIF}

{$IFDEF VER150}      // Borland C++ Builder 7.0
{$IFDEF BCB}
 {$ObjExportAll on}
 {$WARN UNSAFE_CODE OFF}
{$ENDIF}
{$ENDIF}

Проверка на 7 дэлфи кстати проходит, а вот такую строку я нашел в бинарниках только dcc32.exe && dcc60.dll
Вот, что написано в хэлпе 7 про ето
QUOTE

VER150 Always defined, indicating that this is version 15.0 of the Delphi compiler. (Each compiler version has a corresponding predefined symbol. For example, version 10.0 has VER100 defined.)

Вот для билдера похоже эти вещи не определены, вот что я нашел для него в справке, см. раздел
Pre-existing conditional defines
avc*
Отправлено: 30.03.2005, 13:08


Не зарегистрирован







Куски текста в первом моем посте и были из FastReport'а
Я пока тоже ни чего для решения этой проблемы не придумал.
Asher
Отправлено: 30.03.2005, 14:49


Мастер участка

Группа: Модератор
Сообщений: 550



Привет
Может макрос _ _BORLANDC_ _ может помочь?
0x0530 в BCppB5
0x0560 в BCppB6
0x0564 в BCppB6 Service Pack 4
Gedeon
Отправлено: 30.03.2005, 15:42


Ветеран

Группа: Модератор
Сообщений: 1742



Да, это кстати то, что нужно, вот исчо про 1 и 3
http://www.bcbdev.ru/cbuilder/articles/det...ler_version.htm
AVC
Отправлено: 30.03.2005, 15:46


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Привет
Может макрос _ _BORLANDC_ _ может помочь?

Да. Спасибо. Я его уже крутил, не не привык, что кроме проверки на define можно проверять условие. sad.gif
Первые шаги такие
CODE

#if (__BORLANDC__ — 0x0530)
ShowMessage(530);
#else
ShowMessage("Other");
#endif

И это работает так как надо.
AVC
Отправлено: 30.03.2005, 15:52


Ветеран

Группа: Модератор
Сообщений: 1583



2Gedeon
Стыд мне и позор sad.gif . А поиском я ни чего не нашел.

Вернуться в Вопросы программирования в C++Builder