TListView.Items.ItemData的零星DFM损坏

时间:2010-01-06 19:42:03

标签: delphi delphi-2010

我有一个自定义TListView后代,我最初在D2007中创建,现在在D2010中使用。控件在D2007中运行良好没有问题,但是在D2010中我遇到了零星但频繁的实例,其中DFM无法被可执行文件加载并抛出EReadError并带有消息:

'Error reading lvPremiums.Items.ItemData: Stream read error'

其中“lvPremiums”是我的TListView后代控件的名称。当我在开发环境中编译时会发生这种情况。我没有编辑控件的任何属性,但通常我从菜单中执行了Save All。我的列表视图后代默认情况下不会建立任何项目,它们是在运行时创建的。

我可以通过从对象检查器中打开Items属性来解决问题,然后立即单击“确定”并再次保存表单。

以这种方式对已损坏的表单进行DFM文件的目视检查,显示lvPremium组件中的属性声明:

Items.ItemData = {}

当表单“已更正”且处于可运行状态时,此行不存在。

检查我的TListView后代的源代码,它不包含名称“ItemData”,也不能在TListItems帮助屏幕中找到它。

由于我经常使用这个组件,有时需要在单个表单上多次使用,因此必须纠正无关插入DFM的内容。

有人能说出我的问题所在吗?

2 个答案:

答案 0 :(得分:4)

质量中心已报告此问题:QC78778

Ther也是关于它的公式主题here。也许你可以找到一种解决方法。

答案 1 :(得分:0)

使用CG2009,在设置属性后出现了这个问题 - > ReadOnly并打开属性 - >项目编辑器并将其留空。在我添加了一个项目并重建之后它消失了,然后删除了该项目并重新重建。