Архив автора: Yaroslav Brovin

Жизненный цикл объектов в Delphi. Часть 2. Android, iOS. Что же использовать Destroy, Free, FreeAndNil или DisposeOf?

native_iOS_SpinBox

Продолжаем тему жизненного цикла объектов в мире Delphi, но в этой части рассматриваем эту тему в рамках мобильных платформ Android и iOS.

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

Читать далее

Жизненный цикл объектов в Delphi. Часть 1. Windows, OSX. Что же использовать Destroy, Free, FreeAndNil или DisposeOf?

native_iOS_SpinBox
С появлением мобильных платформ в мире Delphi, произошли серьезные изменения в жизненном цикле объектов. Послужившие причиной многих проблем и вопросов, а как правильно кроссплатформенно удалять объекты. В этой статье детально рассматриваем жизненный цикл объектов на разных платформах и даём ответы на важные вопросы, которые могут побеспокоить даже опытных Delphi разработчиков.

Читать далее

FireMonkey видеокурс по стилям

course-style
Добрый день,

Рад поделиться с вами хорошей новостью: «Выпуск видеокурса по использованию стилей в FireMonkey от одного из разработчиков FireMonkey«. Это единственное, уникальное и наиболее полное видео руководство по стилям во всем мире, охватывающие практически все вопросы, связанные со стилями, и предназначенное для решения именно ваших задач. Я являюсь автором данного курса.

Ну а теперь обо всем по порядку.

Читать далее

Приложение будильник. Использование AlarmManager в FireMonkey на Андроиде

Android logoВ этой статье вы узнаете, как создать будильник, построенный на системном планировщике задач AlarmManager Андроида в FireMonkey. AlarmManager позволяет поставить на выполнение задачу, которую требуется выполнить в определенный момент времени. Главным отличием от обычного таймера является то, что задание будет выполнено не зависимо от того, живо ли ваше приложение или нет.

Система автоматически по наступлению указанного времени, выполнит ваш код. О том, как это работает и как этим пользоваться будет описано в этой статье.

Код проекта: Alarm Application Demo (XE 10)

Читать далее

Календарь с подсветкой дней на базе TCalendar без создания нового компонента

CalendarWithEventsВ этой статье мы рассмотрим расширение функционала стандартного календаря TCalendar и добавим поддержку раскраски требуемых дней в календаре. Расширение будет продемонстрировано с использованием нового подхода разработки компонента в FireMonkey.

В результате этой статьи вы получите готовый модуль, который будет достаточно добавить в ваш проект, чтобы использовать расширенную версию календаря с раскраской дней без необходимости создания отдельного компонента календаря.

Статья базируется на версии RAD Studio Delphi Seattle 10. Для ранних версий она не применима.

Код рабочего проекта: Delphi Seattle XE10

Читать далее

Создание нативных представлений для iOS. TSpinBox и UIStepper. Часть 3

native_iOS_SpinBoxПродолжим рассмотрение нового подхода разработки (1 часть, 2 часть) и в этой статье рассмотрим использование нативных контролов на базе механизма презентаций для iOS. В качестве примера мы превратим TSpinBox в нативный для iOS.

Код рабочего проекта: Скачать

Читать далее

Новый подход разработки компонентов FireMonkey “Контрол – Модель – Презентация”. Часть 2. TEdit с автозавершением

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

Код рабочего проекта: Пример для XE8Пример для XE10

Читать далее

Новый подход разработки компонентов FireMonkey “Контрол – Модель – Презентация”. Часть 1

Пример работы AutoComplete в TEditВ этой статье я хочу рассказать вам о новом подходе к разработке компонентов в FireMonkey, используемом для контролов, поддерживающих несколько вариантов реализаций в рамках одной платформы. Поговорим о достоинствах и возможностях нового подхода, открывающихся для разработчиков.

Читать далее