Delphi XE5, как получить кадры, определенные в пакете, в палитру компонентов

2 вещи моя проблема

1) a имеют класс TMyframe= (TFrame), определенный в пакете, но этот кадр не указан в палитре кадров. Поэтому я зарегистрировал свой класс из пакета designtime, используя несколько методов, ни один из которых, казалось, не делал того, что я хочу. (RegisterCOmponent, RegisterClass и RegisterCustomModule)

2) Самая большая проблема, так как Delphi не "знает" мой фрейм, он обрабатывается как обычный компонент, и при использовании его как встроенного, (sub) объекты, определенные в нем, отображаются в ресурсе формы как "объект", а не как "унаследованный" "вызывающий" объект, бла-бла, уже существует, когда форма создается позже. То же самое происходит в конструкторе форм IDE. Когда я перемещаю этот блок кадра из моего пакета компонентов времени выполнения в основной модуль (мой "ядро" bpl), тогда проблема объекта / унаследованного исчезает, и кажется, что все работает нормально. Наверное, потому что знает, как разрешить "TMyCustomFrame".

Итак... Как я могу определить фреймы в одном пакете и использовать их в формах (в других пакетах или exe) во время разработки без Delphi испортить мой ресурс формы.

Использование XE5, Update1, VCL

(Я приведу простой пример, а я уже хотел ответить на этот вопрос)

ТИА

1 ответ

Решение

Из документации видно, что это невозможно (выделение добавлено):

Добавление рамок в палитру инструментов

Кадры добавляются в палитру инструментов как шаблоны компонентов. Чтобы добавить рамку в палитру инструментов, откройте рамку в конструкторе форм (для этой цели нельзя использовать рамку, встроенную в другой компонент), щелкните правой кнопкой мыши рамку и выберите "Добавить в палитру". Когда откроется диалоговое окно Информация о шаблоне компонента, выберите имя, страницу палитры и значок для нового шаблона.

Это подтверждается здесь:

Обмен рамками

Вы можете поделиться рамкой с другими разработчиками двумя способами:

Добавьте фрейм в репозиторий объектов.

Распространите файлы блока (.pas) и формы (.dfm или.fmx) фрейма.

Чтобы добавить фрейм в репозиторий объектов, откройте любой проект, содержащий фрейм, щелкните правой кнопкой мыши конструктор форм и выберите "Добавить в репозиторий". Для получения дополнительной информации см. Использование репозитория объектов.

Если вы отправляете модуль фрейма и файлы форм другим разработчикам, они могут открывать файлы и добавлять фреймы и формы в палитру инструментов. Если во фрейм встроены другие фреймы, его можно открыть только как часть проекта.

Другие вопросы по тегам