Как проверить, определён ли тип

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Как проверить, определён ли тип

Сообщение Cheb » 23.01.2015 12:30:49

Возникла необходимость в конструкции
Код: Выделить всё
{$if не определён тип RawByteString }
  type RawByteString = AnsiString;
{$endif}

короче, что-то подобное #if !defined() в Си или !defined() в php

поскольку хочу сохранить совместимость исходников с фпц 2.6 , но он даёт Error: Identifier not found "RawByteString" :x

P.S. fpc 2.6.4 даёт:
Код: Выделить всё
  WriteLn(IntToHex(ptruint(typeinfo(WideString)), 8));
  WriteLn(IntToHex(ptruint(typeinfo(UnicodeString)), 8));
  WriteLn(IntToHex(ptruint(typeinfo(WideChar)), 8));
  WriteLn(IntToHex(ptruint(typeinfo(UnicodeChar)), 8));
//  WriteLn(IntToHex(ptruint(typeinfo(RawByteString)), 8)); 

00422940
0042294C
00422914
00422914

-- откуда видно, что WideChar и UnicodeChar - это одно и то же :lol:
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Как проверить, определён ли тип

Сообщение SSerge » 23.01.2015 12:48:01

а не проще проверять версию fpc через соответствующую директиву?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Как проверить, определён ли тип

Сообщение Cheb » 23.01.2015 13:01:52

Да просто настолько уже въелся принцип "не проверяйте версию браузера, проверяйте поддержку конкретных фич" что делать это по версии fpc... ощущается как нечто в корне порочное. :x
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Как проверить, определён ли тип

Сообщение Дож » 23.01.2015 13:12:43

Код: Выделить всё
{$if not declared(RawByteString)}
...
{$endif}
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Как проверить, определён ли тип

Сообщение Cheb » 23.01.2015 14:11:17

Спасибо :)
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru