在Delphi 7中,我創建了一個無線電組組件,其中的項目是從數據庫表中獲取的。使用的表格表示爲組件屬性之一。 populate()過程在運行時調用時成功填充組。不過,我想在創建時填充組,當我嘗試引用tablename屬性(通過getTableName()),即使在構造方法結束時,也是空的。我怎樣才能做到這一點?私有變量fTablename在什麼時候被填充?在delphi中創建數據庫時填充無線電組合框
1
A
回答
2
當我嘗試引用tablename屬性(通過getTableName())甚至在結構函數方法結束時,它是空的。
這是因爲在施工過程中,設計時屬性值尚未從DFM流入組件。這發生在施工結束後。
我該怎麼做?私有變量fTablename在什麼時候被填充?
當其屬性被分配時,例如在DFM流式傳輸過程中。
如果您想在運行時對設計時值起作用,您需要覆蓋虛擬方法,該方法在DFM流入組件後被調用。
此外,任何使用現有屬性值執行實時更新的屬性設置器應在執行這些更新之前首先檢查ComponentState
屬性的csLoading
和csReading
標誌。如果設置了標誌,則延遲更新直到調用Loaded()
。
+0
我後來發現在嘗試通過afterconstruction方法訪問時他們甚至沒有填充。不知道爲什麼我得到了-1 –
+0
@TonyWolff的權利,因爲在**構造完成之後,DFM會流入組件**。 –
相關問題
- 1. 從數據庫填充組合框
- 2. 從數據庫填充組合框
- 3. 填充組合框時的填充方法是在類庫
- 4. 如何在數據庫中填充Silverlight中的組合框
- 5. 從PHP數據庫中的數據填充組合框
- 6. 用數據庫中的數據填充組合框控件
- 7. 用php創建並填充mysql數據組合框
- 8. 如何從數據庫中填充組合框,並在C#
- 9. 當組合框在組合框中時,在vbnet中填充組合框
- 10. 的Zend - 填充組合框與數據庫返回的數據
- 11. WPF組合框從MySQL數據庫填充數據
- 12. Javascript - 用新數據填充組合框
- 13. 填充組合框與數據集
- 14. 用mysql數據填充組合框
- 15. 填充數據形組合框與DomainDataSource
- 16. 使用數據填充組合框
- 17. 用JSON數據填充組合框
- 18. 用XML數據填充組合框
- 19. 從數據表填充組合框
- 20. 在Delphi中有效地填充組合框
- 21. 填充組合框與枚舉在Delphi中使用MySQL
- 22. 用MySQL數據庫中的PHP填充多個組合框
- 23. 從數據庫中填充組合框和CheckedListBox C#
- 24. 填充與數據庫中的信息組合框
- 25. 從訪問數據庫填充組合
- 26. 無法在線程中填充數組
- 27. 填充組合框
- 28. 填充組合框
- 29. 組合框填充
- 30. 填充組合框
想必您是要問知道資產何時流動。你可以覆蓋Loaded。如果屬性是在運行時設置的呢? –