Статьи про Delphi c softwarer.ru

Довольно давно существовал сайт Александра Просторова со статьями про Delphi softwarer.ru, Сейчас он не работает. Часть статей можно найти через web.archive.org, но это не очень удобно. Я скачал наиболее полезные, на мой взгляд, и сохранил в архив.

Из них самые лучше первые три:

Run-time packages.

В статье рассказано о том как и зачем применять пакеты времени выполнения.

Работа с динамической памятью.

Подробно разобрана тема создания и уничтожения объектов. Включая использования try...finnaly, концепции владения и нотификации в VCL, создание и уничтожение форм.

Применение модулей данных в немодальном интерфейсе.

Описано решение проблемы связывания модуля данных и нескольких экземпляров формы.

Остальные статьи:

  • Принципы Delphi.
  • Crack-классы.
  • Разнесение design- и runtime свойств.
  • История одной оптимизации.
  • Макрокомпоненты.
  • О сериализации множеств.
  • Обработчики событий.
  • Ошибки интерфейса.
  • Подробности Oracle.
  • Подсказки по использованию Delphi.
  • Расстановка TabOrder-ов.
  • Реализация синглтонов.
  • Таймеры.

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

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

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

При этом вы

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

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

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

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