Runtime design - хранение и загрузка макета формы (рекурсивно?) - PullRequest
6 голосов
/ 15 августа 2011

Я создаю приложение, макет которого должен быть полностью настраиваемым на стороне клиента. Это означает, что каждый компонент (элемент управления) можно изменять и перемещать по форме, добавлять новые элементы управления или удалять некоторые. Я хотел бы использовать JVCL Runtime Design (Инспектор поверхностей проектирования и объектов).

Проблема в сохранении и загрузке формы. Метод TStream. WriteComponent не поддерживает рекурсивную запись, что означает, что он сохраняет только «первый уровень» компонентов.

Так, например, если я помещу TPanel в форму, затем TButton на Panel и вызову WriteComponent в форме, будет сохранен только TPanel, а не TButton.

У меня вопрос - * как мне использовать WriteComponent для хранения полная иерархия управления ?

1 Ответ

11 голосов
/ 15 августа 2011

Вы должны сделать форму владельцем всех компонентов, даже если Parent отличается. Что касается вашего примера, кнопка и панель должны принадлежать форме.

...