Зарегистрированный кадр действует как обычный кадр в одной группе проекта
Я создал пользовательский фрейм и зарегистрировал его как компонент, как описано в разделе " Как улучшить использование фреймов Delphi "
Все начало работать отлично и было именно то, что мне было нужно. Однако при открытии группы проектов с моим пакетом кадров и моим основным проектом все разрушается.
Когда я закрываю и заново открываю свой проект в IDE, я получаю ошибки при чтении моих опубликованных свойств из DFM. Это типичная ошибка "Свойство XX не найдено; игнорировать, отменить, игнорировать все".
Если я проигнорирую все ошибки, компоненты вернутся к поведению как к фрейму. Например, я могу перетащить внутренние элементы управления в разные позиции. Если я удаляю какие-либо опубликованные свойства из фрейма, ошибки загрузки исчезают, но поведение в среде IDE остается похожим на фрейм, а не на компонент.
Похоже, это связано с тем, что у меня есть набор групп проектов, который содержит мой основной исполняемый файл, пакет с фреймами и пакет дизайна с регистрационным кодом фрейма. Если я открываю основной проект сам по себе, мои формы открываются без каких-либо ошибок, и зарегистрированный фрейм ведет себя так, как требуется / ожидается.
Это как если бы IDE запутался и нашел кадр в загруженном проекте перед тем, как найти зарегистрированный пакет.
Одно очевидное решение состоит в том, чтобы не использовать группу проектов и просто работать с ними по отдельности, или вместо использования фрейма преобразовать это в истинный компонент. Я надеюсь, что есть способ продолжать использовать фреймы для визуального проектирования компонентов и держать их в группе проектов (мне нравится иметь возможность создавать Build-All и знать, что все сразу перестраивается)