Delphi

Кактус, или как перестать грызть Lazarus

"Мыши плакали, кололись, но продолжали грызть кактус..."
Из новорусского фольклора

Присказка

Первый раз о тестировании сладкой парочки, состоящей из Free Pascal (FPC) - компилятора и библиотек общего назначения FCL, и Lazarus - библиотеки компонентов LCL и среды разработки, я написал еще в 2010 году. Выводы были не слишком утешительные.

Перечитывая Лу Гринзоу "Философия программирования"

Пообещав написать небольшую рецензию по книге двадцатилетней выдержки, перехожу к выполнению данного слова.

Вышел Delphi XE 10.1 Berlin

На днях, 19 апреля, вышла новая младшая версия Delphi XE 10.1 Berlin. "Шеф, все идет по плану!" (с) Надо ли обновляться?

Во-первых, XE 10.1 Berlin является самостоятельной версией, а не обновлением, как можно было ожидать. Компилятор имеет версию 31.0 (VER310), а интегрированная среда - 18.0. Предшественница 10.0 Seattle имела, соответственно, номера 30.0 и 17.0. Таким образом, разницы между 10.0 и более ранними по нумерации нет - это отдельный продукт со всеми вытекающими. Никакой аналогии с Delphi 7.1, действительно являющейся обновлением.

Тест скорости: array vs TList vs dynamic array

Проведем небольшой замер скорости случайного и последовательного доступа, используя:

  • статический массив (array, должен размещаться на стеке)
  • класс-контейнер TList (размещается в куче)
  • динамический массив (тоже размещается в куче)

Используем массив из 10 миллионов элементов имеющих типы данных "integer" и "varaint". При необходимости вы можете легко изменить тип в соответствующей секции программы.

"Test drive" FreePascal / Lazarus

Тестировал FreePascal / Lazarus на предмет пригодности к профессиональной разработке. В качестве теста взял простенькое приложение из 3 компонентов (1 исполняемый модуль и 2 DLL-ки по принципу плагинов) с несложной обработкой XML внутри. Выводы.

Продукт имеет немало продвинутой функциональности, главная из которой - компиляция и кросс-компияция под множество платформ, включая мобильные устройства. Однако, среда пока не слишком пригодна для разработки чего-то иного, чем монолитное графическое оконное или консольное приложение, в т.ч. связанное с СУБД.

Например:

Delphi 2009. TSQLConnection и пустой пароль

Компонент TSQLConnection содержит ошибку (официально Report #67869): при пустом значении пароля соединение не проходит, выдается ошибка попытки соединения. Это происходит из-за того, что в недрах кода TSQLConnection пустой пароль меняется на "пароль по умолчанию" ("password" для MS SQL).

MSBuild в Delphi 2007/2009 под Vista 64

Инсталлятор создает файл rsvars.bat, где в качестве .NET указан
FrameworkDir=C:\Windows\Microsoft.NET\Framework64
Теперь если запустить сборку проекта, то MSBuild не находит "Borland.Delphi.Targets.dll", установленную не в Framework64, а в Framework.

Delphi. Строку в файл и обратно.

В связи с переходом на unicode "по умолчанию" в Delphi 2009, функцию записи содержимого строки в файл необходимо немного изменить.

Пользователи Delphi могут работать спокойно

Как известно, в прошлом году компания CodeGear - ранее отпочковавшееся от Borland подразделение инструментов и сред разработки - слилась с компанией Embarcadero - поставщиком средств разработки для СУБД. Если вначале не было четкого видения перспектив, то с выходом версии 2009, содержащей ряд важных улучшений, появилась не только уверенность в будущем нового поставщика, но и дальнейших путей развития флагманского продукта.

Delphi. Массив байтов в строку шестнадцатеричных значений.

Иногда бывает нужно посмотреть значение массива байтов в понятном человеку виде, чаще всего в виде пар шестнадцатеричных цифр. Задача может быть решена простой функцией, на примере которой мы увидим три подхода к работе со строками в Delphi и Паскале.

Паскалевские строки: наглядно и просто

Предлагаемый ниже способ хотя и не максимально быстрый, но близок к нему, обладая при этом наглядностью и компактностью. Наиболее быстрым решением, видимо, будет определение постоянного массива символов от Chr(0) до Chr(255) и адресация по значению очередного байта в цикле.

Страницы

Subscribe to RSS - Delphi