Alexander Klenin wrote 6 lines
On Sun, Mar 22, 2009 at 22:03, Luiz Americo Pereira Camara
wrote:
Ok, I have installed VTV (by the way, it needs not only LCLExtensions,
but MultiLog package).
Oh yeah, sorry. When i do a release i'll remove that dependency.
I can reproduce the issue, but this time I am inclined to say this is
VTV bug, since
similar properties, like StringGrid.Columns and SdfDataSet.FieldDefs work fine.
The difference to that properties is that in VTV case Columns is a subproperty (child of Header).
Show quoted text 5 lines
Also, if I disable IsIntresting function, the IDE stops crashing, I
can still see anomalies
with Columns property -- for example, TreeView part of object inspector displays
garbage after invoking Columns editor for VTV component.
The problem is that worked fine from 2 years until revision 19044. Anyway i could not find any different approach in VTV since i already removed the existent hack. Can you point any?
I've found where the crash occurs. See other mail.
Show quoted text 23 lines
> The problem is that Columns is a property of Header
> (TVirtualStringTree.Header.Columns).
>
> Previously Columns where streamed as a direct child of
> TVirtualStringTree using DefineProperties method as a workaround to
> Delphi bug. I removed this hack and now Columns is streamed as child of
> Header.
> Is there any method, other than DefineProperty, that can change a
> property hierarchy?
>
> FYI Columns.GetOwner returns the Header instance.
>
Streaming child properties correctly is, unfortunately,
undocumented and clumsy process.
See e.g. r18774 for a sample of changes required (note overrides for
TBasicChartSeries class).
If you will use that code, take into account a possible differences in
requirement -- TChart
displays its series as child nodes in Object Inspector's treeview.
You might or might not want this for VisualTreeView columns.
I'll stick with the basics and hope that the bug can be fixed.
Luiz