Условная компиляция и возможности языка Delphi

Вольный перевод поста Conditional Compilation with Features.

Вы разрабатываете код который должен работать в разных версиях Delphi? Вы устали от написания примерно такого кода?

При этом вы

  • никогда не знаете точно когда определённая возможность была введена в Delphi
  • всегда сомневаетесь в том какая версия Delphi имеет версию компилятора (CompilerVersion) равную 22

Вместо написания условий по версии компилятора, вы можете думать в терминах возможностей языка. Код выше требует версию Delphi которая поддерживает обобщённое программирования и содержит реализацию TArray<T>. Так что можно переписать код примерно так

Это проще для написания (так как не нужно помнить что в какой версии добавлено) и проще для понимания.

Директивы для таких проверок можно подключить из файла jedi.inc. В этом файле содержатся директивы вида HAS_XXXXX и SUPPORTS_XXXXX, например, такие как

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *