Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 ENDIF expected but $IFEND found  [new]
registered
Member

Откуда:
Сообщений: 76
Программа писалась в Delphi 7, потом переписалась под XE7 (под 7 продолжалась собираться). А теперь в Delphi 7 пишет "$ENDIF expected but $IFEND found" (но ведь так и было, и собиралось в последний раз).

Есть такие конструкции:
{$IF CompilerVersion >= 24.0 }
  {$LEGACYIFEND ON}
{$IFEND}


Почему всё работало?
Вроде, в старых версиях как раз должно быть $IFEND
Срабатывает только в одном модуле, а в других - принимает $IFEND
21 фев 21, 19:37    [22284518]     Ответить | Цитировать Сообщить модератору
 Re: ENDIF expected but $IFEND found  [new]
defecator
Member

Откуда:
Сообщений: 39683
registered
Программа писалась в Delphi 7, потом переписалась под XE7 (под 7 продолжалась собираться). А теперь в Delphi 7 пишет "$ENDIF expected but $IFEND found" (но ведь так и было, и собиралось в последний раз).

Есть такие конструкции:
{$IF CompilerVersion >= 24.0 }
  {$LEGACYIFEND ON}
{$IFEND}



Почему всё работало?
Вроде, в старых версиях как раз должно быть $IFEND
Срабатывает только в одном модуле, а в других - принимает $IFEND


насколько я помню, CompilerVersion не было в Delphi 7
21 фев 21, 19:44    [22284521]     Ответить | Цитировать Сообщить модератору
 Re: ENDIF expected but $IFEND found  [new]
registered
Member

Откуда:
Сообщений: 76
Глючит не эта конструкция, а такая:

   {$IFDEF UNICODE}
   FileINI.SaveToFile(FileName,TEncoding.UTF8);
   {$ELSE}
   FileINI.SaveToFile(FileName);
   {$IFEND}


А такая - нет:
     {$IF CompilerVersion >= 24.0 }
       Vcl.Imaging.PNGImage,
     {$ELSE}
       PNGImage,
     {$IFEND}
21 фев 21, 20:12    [22284537]     Ответить | Цитировать Сообщить модератору
 Re: ENDIF expected but $IFEND found  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4403
registered,

С IFDEF нельзя IFEND, только ENDIF.

Как и говорит ошибка, внезапно.

Сообщение было отредактировано: 21 фев 21, 20:08
21 фев 21, 20:14    [22284539]     Ответить | Цитировать Сообщить модератору
 Re: ENDIF expected but $IFEND found  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 12572
До XE4 требовалось такое условие
{$IF ..} должно закрываться {$IFEND}

{$IFDEF ..} должно закрываться {$ENDIF}
Начиная с XE4, если не была включена директива {$LEGACYIFEND} или опция Setting the Require $IF to be terminated by $IFEND {$IF ...} стало возможным закрывать как {$IFEND} так и {$ENDIF}
22 фев 21, 13:51    [22284735]     Ответить | Цитировать Сообщить модератору
 Re: ENDIF expected but $IFEND found  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2469
_Vasilisk_,
Ненене... у него там своя магия, надо чтоб через ж писалось и работало
23 фев 21, 02:39    [22285012]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить