04 сентября 2019

FlexCel и "'msbuild.exe' is not recognized as an internal or external command"

    Решил я на сон грядущий установить последнюю версию TMS FlexCel под Delphi Rio. Инсталлятор успешно удалил старую версию библиотеки, но установку новой версии завершил ошибкой:
'msbuild.exe' is not recognized as an internal or external command
    В FlexCel Installation Guide по поводу этой ошибки написано "This version of the product does not support command line compiling" с намеком, что у меня Delphi Starter или Delphi Trial. И так как это не так, то единственный выход - это компиляция и установка пакетов библиотеки вручную. Устанавливать больше десяти пакетов вручную мне было лень, поэтому я начала искать другой выход.

16 августа 2019

Обновления для RAD Studio 10.3.2


Похоже, что после релиза RAD Studio версии 10.3.2 ее разработчики дружно забухали и/или ушли в отпуск на две недели. А в августе протрезвели и/или вернулись из отпуска и начали усилено править добавленные в этом релизе баги:

08.08.201930886RAD Studio 10.3.2 Runtime Packages Compatibility Patch
Решает проблему совместимости пакетов времени выполнения с более ранними выпусками Delphi или C ++ Builder 10.3 (под Win32, Win64, macOS32 и Linux64)
08.08.201930887Delphi 10.3.2 macOS Debugging Patch
Решает проблему не корректного отображения переменных, переданных в качестве параметров при отладке под MacOS 64-bit
13.08.201930888RAD Studio 10.3.2 C++ and Delphi Toolchain Patch
Решает проблемы:
* при отладке приложений, собранных с помощью Clang под Win32, вместо значений локальных переменных отображался "?" (RSP-25527)
* fatal error при линковке большого приложения Delphi под MacOS 64-bit
13.08.201930889C++Builder and Delphi 10.3.2 Building Changed Files Patch
Решает проблему того, что иногда после изменения исходного кода в IDE, эти изменения не включаются в скомпилированный бинарный файл (RSP-25509, RSP-25590)

23 июля 2019

Delphi 7 HELP под Windows 10

    "В интернетах" пугают о проблемах при установке и работе Borland Delphi 7 под Windows 10. Недавно мне пришлось установить Delphi 7 под Windows 10. Запустил - работает. Установил на него обновление, запустил - работает. Установил библиотеки, скомпилировал модули проекта - все работает без проблем. Мне даже не пришлось запускать delphi32.exe в режиме совместимости (Compatibility mode) или от имени администратора (Run this program as an administrator).
    А где обещанные проблемы?

19 июля 2019

Релиз Delphi / C++Builder / RAD Studio 10.3.2


Вчера состоялся релиз RAD Studio 10.3 Rio Release 2.

Новые ключевые возможности:
  • Delphi Linux Client Application Support
  • macOS 64-bit support for Delphi
  • C++ 17 for Windows 64-bit
  • C++ LSP Code Insight Improvements
  • RAD Server Wizards and Deployment Improvements
  • Enhanced Firebase Android Support

Коротко о том, что заинтересовало меня:
Runtime Library Performance
  • VCL DFM files loading optimization
  • Variants conversions performance

VCL Quality Improvements
  • Significant VCL quality improvements, with over 50 VCL customer reported issues fixed
  • Improvements in many components including ComboBox, MainMenu and PopupMenu, TreeView, StatusBar, PageControl, Button, DateTimePicker
  • Improvements in forms, frames, painting and styling primitives

IDE
  • A number of quality IDE improvements, especially when resizing and moving the IDE
  • Delphi background compilation in the IDE for all platforms
  • Performance improvements loading forms
  • Significant UI and UX quality improvements, including issues around the IDE’s toolbars, title bar and search, scrolling in the Options dialog, switching between layouts such as when starting debugging, flicker, previously unthemed elements now themed, the guided tour, and more
  • Faster file search operations

Web Clients
  • REST Client Library quality improvements
И главное: пофикшено около 400 баг-репортов от пользователей программистов.

18 марта 2019

Чтение из MS Excel. Кто быстрее?


    При написании "Заполнение страницы MS Excel одной командой" я вспомнил про библиотеки работающие с файлом MS Excel "напрямую". Посмотрим, насколько чтение информации из MS Excel "напрямую" быстрее, чем при использовании OLE.
    Создадим файл с 1 000 000 строк по 5 столбцов и прочитаем его различными способами.

11 марта 2019

Заполнение листа MS Excel одной командой


 "А чё, так можно было, что ли?!?"
 © Уральские пельмени

    Недавно, правя баги в чужом проекте, я в методе генерации отчета в шаблон MS Excel обнаружил то, о чем сам никогда не задумывался... Среди сотни строк присвоения значений ячейкам, я заметил, что одна таблица из сотни ячеек копируется на лист MS Excel одной строкой...
    Алгоритм очень прост: создаем динамический двумерный вариантный массив, заполняем его значениями и присваиваем диапазону ячеек:

21 февраля 2019

Автоподбор высоты строки MS Excel после объединения ячеек

    Шел 2019-й год... а MS Excel по-прежнему не научился рассчитывать высоту строки если в ней есть объединённые ячейки... И метод Range.AutoFit, который "Changes the height of the rows in the range to achieve the best fit", нас не спасёт.

Например, объединим ячейки A1 и B1 и поместим в них многострочный текст:
Var
  ea: TExcelApplication;
  ovRange: OleVariant;
begin
  ...
  ovRange := ea.Range['A1', 'B1'];
  ovRange.Merge;
  ovRange.Value := '1'#13#10'2'#13#10'3'#13#10'4'#13#10'5';
  ovRange.EntireRow.AutoFit;