Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Runtime design - storing and loading form layout (recursively?)

I'm creating an application which layout needs to be fully configurable on client-side. It means each component (control) can be resized and moved around the form, new controls can be added, or some removed. I'd like to use JVCL Runtime Design (Design Surface and Object Inspector).

The problem is about storing and loading the form. TStream.WriteComponent method doesn't support recursive writing, which means it saves just the "first level" of components.

So, by example, if I put a TPanel on a Form, then TButton on the Panel, and call WriteComponent on a Form, only TPanel will be saved, not the TButton.

My question is - *how do I use WriteComponent to store full control hierarchy?

like image 348
migajek Avatar asked Aug 15 '11 14:08

migajek


1 Answers

You should make the form the Owner of all components even if the Parent is different. Regarding your example, the button and the panel should both be owned by the form.

like image 86
Uwe Raabe Avatar answered Nov 15 '22 06:11

Uwe Raabe