Вверх ↑
Ответов: 4612
Рейтинг: 746
#1: 2009-04-10 15:33:47 ЛС | профиль | цитата
InputBox v2.0

Новая, полностью переделанная, версия компонента.
В данной версии использование компонентов KOL было заменено на
API-функции для работы с диалогами. Для Delphi с помощью директив условной
компиляции диалог создается из ресурса, а для FPC шаблон диалога создается
в памяти (мне не удалось заставить FPC компилироватся с этим ресурсом, да и с любым другим...)

Преимущества:
- код и размер компонента стал меньшим (для компилятора Delphi
к исполняемому файлу подключается ресурс диалога (ок. 300 байт) и каждый экземпляр
состоит из двух небольших процедур). Для FPC ресурс не используется, а шаблон диалога создается
в памяти дополнительной процедурой (при этом размер экземпляра компонента несколько больший, чем для Delphi);
- отказ от KOL позволил использовать компонент в приложениях без формы (в том числе и консольных программах);

В приложенном архиве "Тестовые схемы" предлагаю две одинаковые схемы для сравнения размера исп. файлов
при использовании компонента и при имитации компонента дочерней формой. Схемы состоят из пяти кнопок, которые
вызывают по одному InputBox в виде компонента и в виде дочерней формы.
Откомпилировав схемы, вы увидите, что использование дочерних форм для имитации компонента
увеличивает размер файла на 19 КВ (для Delphi, для FPC разница в 32 КВ), а это 30% для этих схем. Поэтому компонент,
как мимнимум, в плане размера, выигрывает у дочерних форм.

Тестовая схема с новой версией компонента на 2 КВ меньше чем с предыдущей.

Из недостатков можно отметить то, что текстовая надпись имеет постоянную высоту и вмещает две строки
текста (чего в большинстве случаев достаточно), а для изменения высоты нужно править ресурс.

После установки скопируйте файл InputBox.res в папку ..HiAsmElementsDelphicode

Так что, кому компонент нравится - качайте и пользуйтесь.
карма: 26

3
Голосовали:filyaxxxcom, Астрамак, andrestudio