2010-06-01 46 views
0

我在Delphi 6中創建了一個DBGrid,並將其綁定到DataModule中包含的DataSource。該源的數據集也位於同一模塊中。在窗體的OnShow事件中,激活數據集併爲數據集設置一個等於行數的標籤。這顯示了幾百行,但沒有顯示在dbgrid中。如果我在IDE中激活數據集,網格將填充預期數據。有沒有人知道爲什麼這種行爲會在IDE和普通運行時間之間改變?我們也使用SDAC連接組件。如何讓數據集在Delphi 6中將數據填充到dbgrid中?

所有第三方組件選擇都不是我的改變。

我可以詳細說明澄清,但我主要需要排除故障的想法來開始。

回答

2

我在D6中多次觀察到數據控件在運行時可能會丟失它們的設置,尤其是那些將一個控件與另一個控件相關聯的設置。您可能希望在激活數據源之前嘗試在OnShow代碼中明確設置相關名稱。

+0

我在OnShow代碼中添加了一個顯式集合,它似乎工作,是否有任何已知的原因導致這些設置丟失? – 2010-06-01 15:46:51

+0

@ChrisJ我從來沒有發現過。這也很難一貫地重現(但隨着應用程序變得越來越大,似乎更頻繁地發生),所以我從未圍繞提交錯誤報告。 – 2010-06-01 15:48:25

+0

與項目實例化表單的順序有什麼關係? – 2010-06-01 15:56:34

1

我還沒有和delphi一起工作了幾年,但我記得如果數據集在設計時保持active = true,數據源屬性有時會丟失。

+0

此外,您應該在應用程序啓動時以編程方式設置這些屬性... – pcent 2010-06-01 16:57:50

+0

編譯它時它不是活動的。 – 2010-06-01 17:09:26