[Lazarus] Help to find cause of crash in IDE after revision 19044

Alexander Klenin klenin at gmail.com
Sun Mar 22 14:06:29 CET 2009


On Sun, Mar 22, 2009 at 22:03, Luiz Americo Pereira Camara
<luizmed at oi.com.br> wrote:

Ok, I have installed VTV (by the way, it needs not only LCLExtensions,
but MultiLog package).
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.
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 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.

-- 
Alexander S. Klenin



More information about the Lazarus mailing list