28 августа 2013 г.

Исправляем плохой дизайн API: функции обратного вызова без user-аргумента

Callback-функция (англ. call — вызов, англ. back — обратный) или функция обратного вызова в программировании — передача исполняемого кода в качестве одного из параметров другого кода.

См. также Разработка API (контракта) для своей DLL.

2 мая 2013 г.

Эволюция Delphi: современные возможности

Среда Delphi не стоит на месте. Каждый год выходит новая версия Delphi с новыми возможностями. Компании Borland (Inprise) и Embarcadero всегда стремились сохранять в своих продуктах высокий уровень обратной совместимости, поэтому каждая новая версия Delphi способна почти без проблем компилировать старый код. Тем не менее, некоторые существующие возможности могут не существовать в новом мире и окружении или вести себя иначе.

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

Not Invented Here: Like the deserts miss the rain

21 апреля 2013 г.

Разработка системы плагинов, часть 9: подводные камни

Предыдущая часть.

В этом посте я попробую собрать в одну кучу все типичные ошибки, особенности и подводные камни, с которыми вы можете встретится при разработке системы плагинов. Этот пост будет динамически пополняться. Некоторые из фактов мы уже рассматривали, так что здесь они будут приведены c целью собрать всё в кучу. Ну а про некоторые особенности я скажу в первый раз.

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

См. также Разработка API (контракта) для своей DLL.

5 марта 2013 г.

Человек рациональный - это миф

Этот пост - не про Delphi и с Delphi не связан.

Случайные мысли по теме принятия решений человеком. Не точно и грубо. Может для кого-то это является тривиальными вещами, ну а для кого-то это может стать открытием...

6 февраля 2013 г.

"Дружественность" в Delphi

Небольшое введение в то, как обстоят дела с "дружественностью" в Delphi.

4 января 2013 г.

Основы оптимизации прикладных программ на Delphi

Оптимизация программы - это один из этапов её разработки, заключающийся в модификации кода для улучшения его эффективности по какому-либо параметру или набору параметров (скорости выполнения, количеству потребляемых ресурсов и т.п.). Некоторые программисты обращаются к ней только при необходимости (например, медленная работа), другие проводят упреждающую оптимизацию.

Эта статья служит введением в оптимизацию прикладных программ на Delphi.

1 января 2013 г.

Программирование на WinAPI, часть 1 - где искать информацию

Это первая часть в цикле, посвящённому "программированию на WinAPI" в Delphi.

WinAPI - он же "Windows API", он же "Win32 API", он же "Application Programming Interface", он же "Прикладной интерфейс программирования" - набор системных функций ОС; самый низкий уровень для любой прикладной программы, в том числе - программ Delphi. Именно на системных функциях основываются все другие функции прикладных программ. Программист может вызывать функции WinAPI, чтобы сделать что-то, не предусмотренное набором функций языка и его библиотеки поддержки. Как правило, работа с функциями WinAPI отличается от работы с функциями и классами языка высокого уровня.

Часто можно услышать вопросы, происходящие от отсутствия навыков работы с WinAPI. К примеру, "этот код работал на Windows XP, но не работает в Windows 7. Что делать?" (приведён совершенно ужасный код, полученный народным методом copy&paste с жёстко зашитыми константами и отсутствием даже намёка на обработку ошибок), "вот код, который получает путь к папке Мои документы, а мне надо - к рабочему столу" (человек не знает, где посмотреть описание функции, чтобы поменять "Мои документы" на "Рабочий стол") и даже просто: "подскажите функцию, чтобы сделать XYZ" - и так далее.

Не будьте беспомощными! Вы сами можете найти ответы на эти вопросы. А этот цикл постов поможет вам в этом.