Этот пост начинает серию записей, которая будет описывать процесс перевода большого коммерческого проекта, которым является MyChat, на «новые рельсы». Сейчас проект работает на Delphi 7. Это довольно старая среда, по современным меркам, ей уже больше 10 лет. Поэтому мы начали переход на Delphi XE3, который вышел осенью 2012 года.

Первая проблема, с которой я столкнулся, это невозможность компиляции библиотеки Synapse, которую мы используем для организации связи, в новой среде. Последняя версия библиотеки, которая есть на официальном сайте, не поддерживает Delphi XE3 и модуль synautil.pas отказывается компилироваться из-за того, что отсутствуют переменные TimeSeparator и ShortMonthNames. После копания в документации, оказалось, что этих переменных в Delphi больше нет, они исключены, как потоконебезопасные. Embarcadero рекомендует использовать переменную класса TFormatSettings вместо того, что было раньше.

Итак, поправленный модуль здесь, всё чудесно собирается и работает.

P.S. Не пугайтесь, что в коде переменная класса TFormatSettings создаётся, но ей не делается Free. Пример для переделки взят с официального сайта Embarcadero — тыц. Методы класса static, так что всё Ок.

7 Replies to “Не собирается библиотека Synapse в Delphi XE3”

  1. С этим помогли но теперь другая проблема не отправляются GET и POST запросы с кодом все правильно для справки стоит Delphi 10 Seattle

  2. Здравствуйте. «Не отправляются» — это слишком общая штука 🙂 Всегда есть или ошибка, которая возникает при попытке отправки команды, или ваш код работает не так, как нужно.

  3. А у меня ругается, что не найден файл httpsend.dcu, в скачанном архиве вообще нет ни одного .dcu файла. Как быть?

  4. Как в последней версии 2019 добавить (меню Tools, Options, Library)?

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

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