InputBox v2.0
Новая, полностью переделанная, версия компонента.
В данной версии использование компонентов KOL было заменено на
API-функции для работы с диалогами. Для Delphi с помощью директив условной
компиляции диалог создается из ресурса, а для FPC шаблон диалога создается
в памяти (мне не удалось заставить FPC компилироватся с этим ресурсом, да и с любым другим...)
Преимущества:
- код и размер компонента стал меньшим (для компилятора Delphi
к исполняемому файлу подключается ресурс диалога (ок. 300 байт) и каждый экземпляр
состоит из двух небольших процедур). Для FPC ресурс не используется, а шаблон диалога создается
в памяти дополнительной процедурой (при этом размер экземпляра компонента несколько больший, чем для Delphi);
- отказ от KOL позволил использовать компонент в приложениях без формы (в том числе и консольных программах);
В приложенном архиве "Тестовые схемы" предлагаю две одинаковые схемы для сравнения размера исп. файлов
при использовании компонента и при имитации компонента дочерней формой. Схемы состоят из пяти кнопок, которые
вызывают по одному InputBox в виде компонента и в виде дочерней формы.
Откомпилировав схемы, вы увидите, что использование дочерних форм для имитации компонента
увеличивает размер файла на 19 КВ (для Delphi, для FPC разница в 32 КВ), а это 30% для этих схем. Поэтому компонент,
как мимнимум, в плане размера, выигрывает у дочерних форм.
Тестовая схема с новой версией компонента на 2 КВ меньше чем с предыдущей.
Из недостатков можно отметить то, что текстовая надпись имеет постоянную высоту и вмещает две строки
текста (чего в большинстве случаев достаточно), а для изменения высоты нужно править ресурс.
После установки скопируйте файл InputBox.res в папку ..HiAsmElementsDelphicode
Так что, кому компонент нравится - качайте и пользуйтесь.
Ответов: 4630
Рейтинг: 749
|
|||
карма: 26 |
| ||
Голосовали: | filyaxxxcom, Астрамак, andrestudio |