Allright guys, sorry to bother again but..... still the same errors: invalid property path. I still can't make heads or tails of the whole thing since nobody seems to know anything about it (or to the contrary, everybody knows and it's considered trivial) -- either way, here's an additional question:
- a "custom composite" EditBox, including a label, a button and a TEdit, works and streams as expected.
- a "composite TForm", very similar in design, does *not*. I cannot seem to hide the custom components (added as usual during the constructor) from the object inspector, whereas my custom editbox indeed behaves as one single component; and what's worse, they are streamed as separate components upon saving (?!??) -- leading to "duplicate <component>" errors, "invalid property path" and the like.
I have tried adding a property with getters and setters; a read-only property; then no property at all; I even moved these composite components to the private section; tried SetSubcomponent true and false; even tried a few "if csDesigning in componentstate then..." but to no avail: it insists on saving the properties of my PRIVATE components and throws all kinds of errors upon loading these properties. I can understand the failure to load them, but I cannot understand why (a) they are nontheless visible in object inspector (b) saved in the LFM file. [and no, TPersistent is not applicable, unless FPC conjures up multiple inheritance]
It would appear TForms behave different than regular components; could somebody at least confirm me this?
At the moment, I see no other option than designing a custom streamer for this component but I completely and utterly fail to understand why I need to.
Help? Any explanation? Confirmation? Help.