【发布时间】:2010-01-06 19:42:03
【问题描述】:
我有一个自定义的 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 的多余内容。
谁能建议我的问题出在哪里?
【问题讨论】:
标签: delphi delphi-2010