Компонент TStringGrid не позволяет задать нулевое количество строк

Компонент TStringGrid в C++ Builder описывает таблицу. Он является надстройкой над двумерным массивом строк. В целом это очень удобный класс, и я часто пользуюсь им. Но у него есть одна особенность, которая иногда доставляет неудобства. Читать полностью →

Не забывайте про префикс ./ в Linux

Недавно я совершил глупейшую ошибку, работая в Linux. Я написал небольшую программу, скомпилировал ее и отчаянно пытался запустить через терминал. Исполняемый файл назывался «main». В терминале я зашел в каталог с этим файлом и наивно набрал команду: Читать полностью →

книга и черновик незавершенной книги

Сегодня выложил в общий доступ свою старую книгу «Разработка приложений под КОМПАС в Delphi» и черновик так и не завершенной книги с рабочим названием «Шпаргалка VCL».

Книга «Разработка приложений под КОМПАС в Delphi» была написана в 2013 году и уже получила признание у читателей. Но на моем блоге ее до сих пор не было. Теперь вы можете бесплатно скачать ее отсюда.

«Шпаргалка VCL» начиналась как книга с большими надеждами. В ней планировалось подробно рассмотреть библиотеку VCL на примере Delphi и C++ Builder. Но во время активной работы над ней я осознал, что она давным-давно утратила свою актуальность (она писалась для Delphi 7 и C++ Builder 6). Поэтому мне пришлось прекратить работу над ней, чтобы сосредоточиться на других, более актуальных проектах. Но, чтобы накопленный материал не пропадал впустую, я выкладываю его здесь. Вдруг кому будет интересно. Более подробная информация и ссылка на скачивание приведены на странице.

Дружественная функция для шаблонного класса

При работе в С++ время от времени приходится создавать свои собственные шаблоны. Их синтаксис описывается в любой более-менее приличной книге по С++. Но правильное объявление дружественной функции может вызвать трудности. Читать полностью →

Ошибка отсутствия процедуры __dbk_fcall_wrapper и ее решение

При работе в Embarcadero RAD Studio 10 во время компиляции проекта может возникать ошибка с текстом: «Точка входа в процедуру __dbk_fcall_wrapper не найдена в библиотеке DLL». Читать полностью →

Символические ссылки не удаляют себя из пути

Несколько дней назад я работал с символическими ссылками в Linux. Я пытался с их помощью решить одну задачу, но мне это не удалось. Как оказалось, они не удаляют себя из полного пути к файлу, на что я рассчитывал. Позже выяснилось, что похожим образом себя ведут и их братья в Windows. Читать полностью →

О размере типов int и long

Типы int и long (он же long int) хорошо знакомы каждому программисту C/C++. Их размер и диапазон возможных значений описываются в каждой книге по С/С++. Но оказывается то, что написано в книгах не всегда соответствует действительности. Читать полностью →

Новый том проекта «Шпаргалка Windows API»

Вашему вниманию представляется новый том проекта Шпаргалка Windows API. Он посвящен элементам управления. Изначально, изложенный в нем материал должен был входить в состав тома объекты user и gdi. Но из-за его объема решено было создать отдельный том. В нем пока описываются не все элементы управления, а только их часть. Со временем будут добавлены и другие. Для каждого элемента описываются его стили, сообщения, уведомления и специфичные для него функции, а также приводятся примеры его использования.
Скачать бесплатно его можно на странице.

»Шпаргалка Windows API» в новом формате

Я решил изменить формат распространения своего проекта «Шпаргалка Windows API». Как вы знаете один из томов (объекты user и gdi) распространялся на платной основе. Я решил сделать его открытым. Теперь все тома данного проекта распространяются абсолютно бесплатно.
Поскольку тома с течением времени будут меняться, для них вводится система версий. Версия каждого тома обозначается датой его последнего изменения. Она указывается на титульном листе тома чуть ниже обложки. Это некрасивое решение, но ничего лучше я пока не придумал. О выходе новых версий будет сообщаться в блоге.
Я не могу обещать, что новые версии будут выходить часто. Но и совсем забрасывать его я не буду.
Так что следите за новостями блога.