![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Управление RTTI в проектах Delphi XE: оптимизация исполняемых файловDelphi , Компоненты и Классы , RTTIРазработчики, использующие Delphi XE, сталкиваются с необходимостью управления механизмом RTTI (Runtime Type Information) для оптимизации исполняемых файлов. В частности, возникает задача включения RTTI только для определённого набора классов, чтобы избежать включения в исполняемый файл всех публичных методов из всех классов проекта, что может привести к увеличению размера файла и потере преимуществ умного линковщика. ПроблемаВопрос заключается в том, как активировать RTTI только для подмножества классов в проекте на Delphi XE. Это необходимо, поскольку для некоторых классов требуется RTTI на публичные методы, но при включении RTTI на уровне всего проекта все публичные методы из всех классов попадают в исполняемый файл, что может быть нежелательным. Попытки решенияРазработчик уже пробовал несколько подходов:
Альтернативный ответ и комментарииИз комментариев следует, что принятый способ управления видимостью классов заключается в использовании базового класса без опубликованных элементов и производного класса с опубликованными свойствами, которые должны быть видимы. Однако, в данном случае, разработчик хочет использовать RTTI для классов, используемых в тестах, но не для всего проекта. Подтвержденный ответПроблема была признана как баг компилятора и зарегистрирована в Quality Central под номером 98261 для рассмотрения компанией Embarcadero. Ошибка во время выполнения была связана с атрибутами, поэтому для избежания ошибок необходимо убедиться, что все используемые атрибуты имеют RTTI. Сбой компилятора происходит, если директива РекомендацииИспользуйте следующие рекомендации для управления RTTI в проектах Delphi XE:
Пример кода
Этот пример демонстрирует, как включить RTTI для класса Следуя этим рекомендациям, разработчики смогут оптимизировать использование RTTI в проектах на Delphi XE, уменьшив размер исполняемых файлов и улучшив производительность за счёт умного линковщика. Разработчики Delphi XE сталкиваются с необходимостью тонкой настройки RTTI для оптимизации размеров исполняемых файлов, выборочно включаюя его только для определенных классов. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |