2010-01-06 18 views
3

我有一個自定義的TListView後裔,我最初在D2007中創建,現在在D2010中使用。控制在D2007工作正常沒有問題,但在D2010我遇到其中DFM不能由可執行被加載並引發EReadError有消息零星,但頻繁發生的情形:TListView.Items.ItemData零星的DFM損壞

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

其中「lvPremiums」是我的TListView後代控件的名稱。當我在開發環境中編譯時會發生這種情況。我沒有編輯控件的任何屬性,但通常我已經從菜單中執行了Save All。我的列表視圖後裔默認情況下不會建立任何項目,它們是在運行時創建的。

我可以通過從對象檢查器打開Items屬性來解決問題,然後立即單擊確定並再次保存表單。

對於已經以這種方式被破壞的形式來DFM文件的視覺檢查顯示的lvPremium組件內屬性的聲明:

Items.ItemData = {} 

該行不存在時的形式已被「校正」和是一個可運行的狀態。

檢查我的TListView後裔的源代碼,它不包含名稱「的ItemData」,也可以找到這在TListItems幫助屏幕記錄。

有糾正外來插入DFM正在成爲一個孔,因爲我使用這個組件頻繁,有時多次在單一表單上。

任何人都可以提出我的問題在哪裏?

回答

4

這已報告質量中心:QC78778

療法也是它here一個formum線程。也許你可以找到解決方法。

+1

Thx。該線程包含解決方法 - 爲每個列表視圖控件添加一個「虛擬」項,然後在啓動時將其刪除。 –

+0

QC條目已被標記爲最終在XE2中解析 – mjn

0

使用CG2009,發生這個問題對我來說我已經設置的屬性後 - >只讀,打開屬性 - >產品編輯器,並離開了空。在我添加了一件物品並重建後,它就消失了,然後取出物品並重新進行重建。