2013-12-02 1 views
0

2 вещи моя проблемаDelphi xe5, как получить кадры, определенные в пакете в палитре й компонент

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

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

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

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

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

ТИА

ответ

2

Из documentation, представляется, что это невозможно (курсив ):

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

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

Это, как представляется, подтверждается here:

Sharing Frames

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

Добавить рамку в хранилище объектов ,

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

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

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

Смежные вопросы