В этом году в русскоязычном Delphi-сообществе было опубликовано огромное количество материалов. Можно было запросто пропустить что-то интересное. Я постарался собрать в одной публикации ссылки на наиболее интересные публикации 2009 года. Все публикации имеют прямое отношение к Delphi. Получилось довольно много. Большое спасибо любезным авторам!
Михаил Мохов: Аспектно-ориентированное программирование и Delphi – заметка об АОП и Delphi, + ссылки на фреймворки.
Дмитрий Ларионов: Превращаем главное скрытое окно программы в действительно главное окно программы – как избавится от недостатка невидимого окна TApplication в программах написанных на Delphi версии <= 2006.
Александр Шарахов: Почему мне не нравится TDateTime – достоинства и недостатки типа данных TDateTime в Delphi.
Алексей Легкунец: Что нужно знать программисту и пользователю, работающему с программами, строящими графики функций
Упаковка сложных типов данных в Delphi
Описание работы с Vista UAC в Delphi от Александра Божко
Технологии интеллектуального редактирования в D2009 (рефакторинг) – Часть 1. Часть 2. Часть 3. – описание работы с встроенными в Delphi инструментами для рефакторинга.
Подробное описание Ribbon Controls, появившихся в Delphi 2009 от Влада (webdelphi.ru)
Алексей Тимохин: О переводе крупного проекта на Delphi 2009 — перевод статьи: “Upgrading a major project to Delphi 2009”, Lars B. Dybdahl.
Алексей Казанцев: Расширенная поддержка интерфейсов для Delphi — пример кода, позволяющего добавить поддержку кастомных интерфейсов для любого класса в Delphi (включая базовые VCL-классы).
Алексей Тимохин: Сравнительная таблица Delphi-компонентов для работы с СУБД Oracle.
Алексей Тимохин: Обобщённое программирование(generics) в Delphi 2009 для Win32. Перевод статьи Sébastien Doeraene “Generics with Delphi 2009 Win32 (With, as a bonus, anonymous routines and routine references)”
Алексей Тимохин: Сравнивая дженерики в C#, C++ и Delphi(Win32) — Перевод статьи: Comparing C#, C++, and Delphi (Win32) Generics. Автор: Craig Stuntz
Краткое перечисление новинок в Delphi 2010 от Алексея Тимохина.
Skiminok: Weaver — первые впечатления
Обзор механизма естественного ввода в RAD Studio 2010 от Skiminok.
Описание форматировщика кода в Delphi 2010
Обзор новинок в Delphi 2010 от Александра Божко
RTTI в Delphi 2010:
Общее описание библиотеки Jedi Code Library. JCL 3.35.
Серия постов, описывающих некоторые компоненты из библиотеки Jedi Visual Control Library.
Менеджеры памяти в программах – описание устройства менеджера памяти в Delphi. Зачем нужен, как используется, межмодульное взаимодействие.
Создание приложений для Windows Vista в Delphi (до 2007)
Работа с указателями в Delphi для Win32. — перевод Addressing pointers. Автор: Rudy Velthuis
Параметры типа открытый массив и "array of const" — перевод Open array parameters and array of const. Автор: Rudy Velthuis.
PChars: сами строки не включены — перевод PChars: no strings attached. Автор: Rudy Velthuis
BOOL, Boolean и Integer — перевод BOOL, Boolean and Integer. Автор: Christian Wimmer.
Что люди любят делать не так в IUnknown.QueryInterface — перевод The ways people mess up IUnknown::QueryInterface. Автор: Реймон Чен.
Михаил Мохов: Аспектно-ориентированное программирование и Delphi – заметка об АОП и Delphi, + ссылки на фреймворки.
Дмитрий Ларионов: Превращаем главное скрытое окно программы в действительно главное окно программы – как избавится от недостатка невидимого окна TApplication в программах написанных на Delphi версии <= 2006.
Александр Шарахов: Почему мне не нравится TDateTime – достоинства и недостатки типа данных TDateTime в Delphi.
Алексей Легкунец: Что нужно знать программисту и пользователю, работающему с программами, строящими графики функций
Упаковка сложных типов данных в Delphi
Описание работы с Vista UAC в Delphi от Александра Божко
- Часть 1. Введение.
- Часть 2. Варианты использования.
- Часть 3. Повышение прав по запросу с использованием COM Elevation Moniker.
Технологии интеллектуального редактирования в D2009 (рефакторинг) – Часть 1. Часть 2. Часть 3. – описание работы с встроенными в Delphi инструментами для рефакторинга.
Подробное описание Ribbon Controls, появившихся в Delphi 2009 от Влада (webdelphi.ru)
- Ribbon Controls шаг за шагом. Шаг 1 – визуальная разработка интерфейса.
- Ribbon Controls шаг за шагом. Шаг 2 – дополнительные элементы интерфейса
Алексей Тимохин: О переводе крупного проекта на Delphi 2009 — перевод статьи: “Upgrading a major project to Delphi 2009”, Lars B. Dybdahl.
Алексей Казанцев: Расширенная поддержка интерфейсов для Delphi — пример кода, позволяющего добавить поддержку кастомных интерфейсов для любого класса в Delphi (включая базовые VCL-классы).
Алексей Тимохин: Сравнительная таблица Delphi-компонентов для работы с СУБД Oracle.
Дженерики
Алексей Тимохин: Обобщённое программирование(generics) в Delphi 2009 для Win32. Перевод статьи Sébastien Doeraene “Generics with Delphi 2009 Win32 (With, as a bonus, anonymous routines and routine references)”
Алексей Тимохин: Сравнивая дженерики в C#, C++ и Delphi(Win32) — Перевод статьи: Comparing C#, C++, and Delphi (Win32) Generics. Автор: Craig Stuntz
Delphi 2010
Краткое перечисление новинок в Delphi 2010 от Алексея Тимохина.
Skiminok: Weaver — первые впечатления
Обзор механизма естественного ввода в RAD Studio 2010 от Skiminok.
Описание форматировщика кода в Delphi 2010
- Delphi 2010 Formatter. Иллюстрированный справочник. Раздел Indentation
- Delphi 2010 Formatter. Иллюстрированный справочник. Раздел Spaces
Обзор новинок в Delphi 2010 от Александра Божко
- Delphi 2010. Что нового? #1
- Delphi 2010. Что нового? #2
- Delphi 2010. Что нового? #3
- Delphi 2010. Что нового? #4": Изменения в компиляторе
- Delphi 2010. Что нового? #5: Изменения в отладчике.
- Delphi 2010. Что нового? #6: Изменения в VCL.
RTTI в Delphi 2010:
- Delphi 2010 RTTI – Основы.
- Delphi 2010. RTTI и атрибуты
- Использование атрибутов и наследников TCustomAttribute
- Углубленное исследование TRTTIType
- Углубленное исследование наследников TRttiMember (часть I), свойства и поля
- Углубленное исследование наследников TRttiMember (часть II) Методы
- Почему я вызываю TRttiContext.Create() и TRttiContext.Free()
- Введение в TValue
Описание библиотек JCL и JVCL:
Общее описание библиотеки Jedi Code Library. JCL 3.35.
Серия постов, описывающих некоторые компоненты из библиотеки Jedi Visual Control Library.
Серия публикаций от Александра Алексеева.
Обработка ошибок в Delphi-программах:
- Обработка ошибок – фундаментальное исследование по обработке ошибок в Delphi. Сравниваются разные подходы (коды ошибок и исключения), рассматривается механизм возникновения и обработки исключений, средства диагностики исключений (Jcl, FastMM, EurekaLog, Windows Error Reporting), даются советы о том, как правильно обрабатывать ошибки. Подробно описывается работа с отладчиком и многое другое. Из-за огромного размера статьи доступен вариант в PDF.
- Access Violation в деталях — подробный разбор самой частой ошибки в Delphi-программах. Что это такое, откуда берётся, возможные причины, как диагностировать, как исправлять.
- Ищем утечки памяти – статья о том, как искать утечки памяти в Delphi программах с помощью EurekaLog, FastMM, MemProof/AQTime.
- Настройки проектов в Delphi с точки зрения поиска ошибок – как настроить проект, чтобы получить максимум информации в отчёте об ошибке.
- Как читать Log-файлы отчётов об ошибках EurekaLog, FastMM, JCL – как проанализировать стек вызовов и найти место возникновения ошибки. Типичные ошибки новичков.
- EurekaLog с точки зрения ShareWare-разработчика – обзор EurekaLog с позиции разработчика ShareWare-программ (вопросы защиты кода).
- Anti-freeze в EurekaLog – отслеживание зависания программы с помощью EurekaLog.
Менеджеры памяти в программах – описание устройства менеджера памяти в Delphi. Зачем нужен, как используется, межмодульное взаимодействие.
Создание приложений для Windows Vista в Delphi (до 2007)
- часть 1 — перевод Creating Windows Vista Ready Applications with Delphi. Автор: Nathanial Woolls.
- часть 2 — перевод Creating Windows Vista Ready Applications with Delphi. Update — January 2007. Автор: Nathanial Woolls.
Работа с указателями в Delphi для Win32. — перевод Addressing pointers. Автор: Rudy Velthuis
Параметры типа открытый массив и "array of const" — перевод Open array parameters and array of const. Автор: Rudy Velthuis.
PChars: сами строки не включены — перевод PChars: no strings attached. Автор: Rudy Velthuis
BOOL, Boolean и Integer — перевод BOOL, Boolean and Integer. Автор: Christian Wimmer.
Что люди любят делать не так в IUnknown.QueryInterface — перевод The ways people mess up IUnknown::QueryInterface. Автор: Реймон Чен.
Особенности работы с DllMain с примерами на Delphi:
- DllMain — страшилка на ночь — перевод DllMain: a horror story. Автор: Олег Львович
- DllMain и жизнь до родов — перевод DllMain and life before birth. Автор: Олег Львович.
- Несколько причин, чтобы не делать ничего страшного в своей DllMain — перевод Some reasons not to do anything scary in your DllMain. Автор: Реймонд Чен
- Ещё причины, почему не надо делать ничего страшного в DllMain: случайная блокировка — перевод статьи Реймонда Чена Another reason not to do anything scary in your DllMain: Inadvertent deadlock с примерами на Delphi.
Перевод серии статей Реймонда Чена – “Как управлять IContextMenu” с примерами на Delphi.
- Как управлять IContextMenu, часть 1 — вступительное слово
- Как управлять IContextMenu, часть 2 – показ контекстного меню
- Как управлять IContextMenu, часть 3 — место вызова
- Как управлять IContextMenu, часть 4 — контекст клавиш
- Как управлять IContextMenu, часть 5 — обработка сообщений от меню
- Как управлять IContextMenu, часть 6 — отображение подсказок меню
- Как управлять IContextMenu, часть 7 — вызов пункта меню по-умолчанию
- Как управлять IContextMenu, часть 8 — оптимизируем вызов команды по-умолчанию
- Как управлять IContextMenu, часть 9 — добавление своих команд
- Как управлять IContextMenu, часть 10 — компоновка расширителей меню — основы
- Как управлять IContextMenu, часть 11 — компоновка расширителей меню — компоновка
Перевод серии статей Реймонда Чена: Dragging a shell object, part 1: Getting the IDataObject с примерами на Delphi.
- Перетаскивание объекта оболочки, часть 1: получение IDataObject
- Перетаскивание объекта оболочки, часть 2: добавляем перемещение
- Перетаскивание объекта оболочки, часть 3: определение "оптимизированного" перемещения
- Перетаскивание объекта оболочки, часть 4: добавляем красивую иконку
- Перетаскивание объекта оболочки, часть 5: заставляем кого-нибудь делать за нас работу
Серия заметок от Александра Алексеева о создании системы плагинов на Delphi:
- Часть 1. Варианты реализации (DLL, COM, пакеты, использование интерфейсов)
- Часть 2. Создание точки входа.
- Часть 3. Реализация плагина в пакете, в виде DLL.
- Часть 4. Объяснение работы пакета как DLL.
- Часть 5. Загрузка пакетов в виде DLL.
- Часть 6. Интерфейс IInit.
- Часть 7. Обработка ошибок в плагинах.
- Часть 8. Объявление дополнительных интерфейсов и передача строк.
- Часть 9. Совместимость с другими языками. Обмен данными переменного размера.
- Часть 10. Пример реализации.
- Часть 11. Исходники.