25 ноября 2019

Настройка шрифта главного окна Delphi IDE

    Среди новых возможностей RAD Studio 10.3 Rio - Release 3 заявлена "настройка шрифта и его размера для главного окна IDE, включая закрепляемые окна, такие как Projects view, Object Inspector, Structure и т. д., может быть произведена через реестр". В документации подробнее об этом я ничего не нашел. Так как же поменять этот шрифт?

22 ноября 2019

Первое обновление для RAD Studio 10.3.3

    Одновременно с релизом RAD Studio версии 10.3.3 компания Embarcadero выпустила для нее первое обновление. Возможно, из-за этого бага и был перенесен официальный релиз RAD Studio 10.3.3, инсталлятор которой на небольшое время был выложен 16-го ноября 2019 в публичный доступ и был быстро растиражирован пиратами.
    RAD Studio 10.3.3 iOS 13 Dark Theme Patch - это обновление устраняет проблему, когда приложения, созданные для iOS 13 на RAD Studio 10.3.3 с использованием FireMonkey, требуют от пользователя перезапуска приложения после переключения в настройках iOS между светлой и темной темой. Архив содержит файл "FMX.Platform.iOS.pas", который необходимо добавить в FireMonkey-проект и переключение тем в этом приложении будет работать корректно.

21 ноября 2019

Embarcadero выпускает RAD Studio 10.3.3

21 ноября 2019 года компания Embarcadero выпустила RAD Studio 10.3 Rio - Release 3. Новые возможности:

Delphi Android 64-bit
  • Новый компилятор Delphi под Android 64-бит базированный на LLVM инфраструктуре. Он совместим по функциям с 32-битным компилятором Android и поддерживает модель памяти ARC, как и все другие компиляторы под мобильной платформы (iOS 32/64-бит и Android 32-бит).
  • Расширенная поддержка RTL, включая доступ к основной файловой системе, интеграцию с платформой, управление памятью и потоками, а также клиентские библиотеки HTTP, REST, параллельного программирования и многое другое.
  • Полная поддержка библиотеки FireMonkey и всех элементов управления FireMonkey, ранее доступных на 32-битной платформе Android.
  • Поддержка RTL баз данных и библиотеки клиентского доступа FireDAC.
  • Улучшения в поддержке FMX для Android 32/64-бит.
  • Поддержка встраиваемой 64-битой версии InterBase (IBLite и IBToGo).

iOS 13 and macOS Catalina (Delphi) Support
  • Поддержка iOS 13 App Store (для Delphi и C ++ Builder) и macOS Catalina (только для Delphi). Для iOS 13 добавлена поддержка Dark Theme.

Enterprise Connectors in Enterprise & Architect Edition
  • В комплект поставки включена годовая подписка на Enterprise Connectors от CData, которая дает возможность подключения к различным приложениям через FireDAC таким же простым, как подключение к базе данных (Elasticsearch, QuickBooks Desktop, MailChimp, Salesforce, YouTube, SugarCRM, Jira, SurveyMonkey, Amazon DynamoDB, Couchbase, PayPal, eBay, Google Sheets, Facebook, Twitter, Slack, Dropbox и других).

Key Fixes & Notable Enhancements
  • улучшенная стабильность и обработка сообщений об ошибках системы, а также улучшенные образцы продуктов
  • C++
    • Множество исправлений в STL, RTL и компиляторе (особенно для Windows 64-бит)
  • IDE
    • Настройка шрифта и его размера для главного окна IDE, включая закрепляемые окна, такие как Projects view, Object Inspector, Structure и т. д., может быть произведена через реестр.
    • Вкладки редактора теперь показывают статус модуля "изменен", рисуя точку на вкладке редактора.
    • Несколько исправлений, касающихся изменения размеров, минимизации и максимизации IDE.
    • Ряд исправлений вокруг вкладок редактора, включая визуальные исправления.
    • Ряд исправлений для стиля IDE, включая Debug Inspector и окно CodeComplit.
  • Delphi Compiler and Runtime Library
    • Исправления компилятора для разных платформ (в частности, Windows и MacOS)
    • Несколько улучшений, связанных с 64-битным RTTI в macOS
    • Общие улучшения производительности RTL (включая TObject.CleanupInstance)
  • iOS
    • Улучшена поддержка редактирования, виртуальной клавиатуры и IME для iOS 13
    • Улучшения push-уведомлений
  • Android
    • Поддержка Android 10, включая улучшения для splash screen.
    • Исправления для компоненты "Камера" и связанных с ней действий.
  • macOS
    • Улучшена поддержка notarization для 64-битных приложений Delphi для macOS
  • FireDAC & Database
    • Улучшения в мастер/детейл и управлении BLOB
    • Улучшения драйверов FireDAC для PostgreSQL, SQLite, DB2 и Oracle
    • Исправления в старых библиотеках баз данных: ADO, ClientDataSet и DBX
  • Web Clients
    • Улучшена библиотека HTTP-клиента (поддержка тайм-аута соединения)
  • Debugger
    • Улучшений качество отладки (например, отладка константных строк для Delphi на Win64).
    • Большое количество улучшений для C++
Всего RAD Studio 10.3 Rio - Release 3 включает в себя исправление более 180 багрепортов от пользователей.

18 ноября 2019

Embarcadero RAD Studio 10.3.3 Rio

Пираты опередили компанию Embarcadero и 16-го ноября 2019 года уже выложили Embarcadero RAD Studio 10.3.3 Rio Architect Version 26.0.36039.7899 и генератор лицензий для него.

15 ноября 2019

Embarcadero выпускает СУБД InterBase 2020

Основные новшества InterBase 2020:

1. Добавлена поддержка табличных пространств. Табличные пространства позволят хранить объекты базы данных в коллекции логических файлов на различных носителях. Совместное использование быстрых SSD и больших HDD обеспечит лучшую производительность и более сбалансированное и оптимизированное использование оборудования.

2. Встраиваемая версия InterBase (IBLite и IBToGo) теперь доступна под 64-битные версии Android и MacOS. Это позволяет разработчикам создавать на Delphi 64-х битные приложения с встраиваемой версий InterBase для Google Play Store и macOS App Store. Полный список поддерживаемых IBLite и IBToGo платформ теперь включает: Windows, macOS, Linux, Android и iOS. InterBase 2020 Server Edition поддерживает пока только Windows, поддержка macOS и Linux будет добавлена позже.

3. Улучшенный Performance Monitoring позволяет получать текущую статистику о использовании индексов в базе данных и насколько они активны для различных запросов (оптимизация, сортировка по условию и т. д.).

4. Data Dictionary DDL. Новый синтаксис ALTER DESCRIPTION позволяет описать любой объект базы данных (например, таблицу, индекс, хранимую процедуру, генератор и т. Д.) для документирования схемы базы данных.

5. SQL-оптимизатор теперь может преобразовывать комбинацию оператора неравенства (<, <=, !=, <>, >, >=) и оператора NOT в их противоположное представление. Это повышает производительность за счет использования индекса. Например, условие "NOT A > 0" будет преобразовано в "A <= 0".

6. Улучшена безопасность за счет использования на всех платформах OpenSSL версии 1.0.2.

7. В IBConsole for Windows добавлена поддержка новых функций InterBase 2020: модификацию табличных пространств, словарь данных, расширенную поддержку недавно запатентованной технологии Change Views. А 64-битная версия IBConsole позволяет теперь в окне запроса получать большие наборы данных.

Подробнее: What's new in InterBase 2020.
Скачать InterBase 2020 (v14.0.0.97): Server Edition под Windows и ToGo Edition под Windows, Linux, macOS, iOS и Android.

12 ноября 2019

SQL доступ к Elasticsearch


    Что делать, если вы хотите использовать SQL-запросы к Elasticsearch, но не купили X-Pack и у вас нет доступа к Elasticsearch SQL?

Вариант первый: смириться и продолжить писать REST-запросы

Вариант второй: использовать специальную библиотеку для SQL-доступа к Elasticsearch. Например, CData Elasticsearch Driver. Она существует в множестве вариантов и позволяет получить доступ к данным в Elasticsearch из любых средств разработки и программ (FireDAC Components, ADO.NET Provider, ODBC Driver, JDBC Driver, Power BI Connectors, BizTalk Adapter, PowerShell Cmdlets, Excel Add-In, Anypoint Connectors, SSIS Component).

Рассмотрим использование CData FireDAC Components for Elasticsearch в Delphi.

08 ноября 2019

Формирование строкового значения для JSON

    При формировании строки для строкового значения JSON возникает необходимость контролировать некоторые символы. Например, если в содержимом строки есть двойная кавычка, то для получения строки JSON недостаточно взять исходную строку в двойные кавычки. Это двойную кавычку необходимо "экранировать" - поставить перед ней символ обратной косой черты ("\"). Кроме двойной кавычки обязательно необходимо экранировать саму обратную косую черту, а также все управляющие символы от U+0000 до U+001F (т.е. символы от 0 до 31).
    Рассмотрим подробнее, как экранируются символы. Любой символ от U+0000 до U+FFFF (не только управляющий) в строке JSON может быть представлен в виде последовательности из шести символов: обратный косая черта, строчная буква u, код символа в виде четырех шестнадцатеричные цифр. Буквы в шестнадцатеричные цифрах не зависят от регистра и могут быть как прописными, так и строчными. Например, буква "ё" представляется как "\u0451", а буква "к" как "\u043A".

05 ноября 2019

Elasticsearch. Замена знализатора по умолчанию

    Зачастую при работе с Elasticsearch для полей необходимо указать не стандартный анализатор. Например, если нам нужен анализатор для конкретного языка или необходимо специфическая обработка текста (например, исключить определенные слова, задать список синонимов, или как я уже писал – приравнять Ё к Е...).
    Задать полю не стандартный анализатор можно сделать при маппировании полей индекса:
PUT http://localhost:9200/test/_mappings
{
  "properties": {
    "id": { "type": "long" },
    "num": { "type": "text" },
    "name": {
      "type": "text",
      "analyzer": "new_ analyzer"
    }
  }
}
В этом примере, поле "num" будет обрабатыватсья стандартным анализатором, а поле "name" будет обрабатыватсья нашим собственным анализатором "new_ analyzer".
    А, что делать, если этот не стандартный анализатор нужно задать полям, которые маппируются динамически, а темплейт делать лень? Или для всех полей индекса?