我的框架有一個資料模塊,它使用全域實體。(dmData) 資料組件鏈接到 dmData 實體上的資料源
現在我想使用一個框架私有的資料模塊實體,因為我想要包含同時顯示的框架的表單的多個實體。
我無法弄清楚如何在代碼或設計中實作這一點。
在框架中,我將資料模塊創建為 dmLocalData := tdmData.Create(self),但在設計中我沒有鏈接 dmLocalData 的選項,只有鏈接到 dmData 的選項(所以我所有的資料控制元件都是空白的(除了具有在代碼中設定的本地資料源的 ONE)
我的意思是,在代碼中,我可以手動逐個檢查每個組件并更改資料源,但是認為確實必須有更好的方法,因此對其進行維護將非常可怕。
關于更好的方法的任何想法?
uj5u.com熱心網友回復:
實際上,有一種方法可以避免為動態創建的資料模塊手動連接控制元件。簡而言之 - 像這樣覆寫 datamodules CreateNew建構式:
constructor TMainDM.CreateNew(AOwner: TComponent; Dummy: Integer);
begin
Dummy := -1;
inherited;
end;
這避免了資料模塊的多個實體獲得不同的名稱,因此參考按預期決議。由于資料模塊無論如何都是框架私有的,因此它們不需要具有全域唯一名稱。
在這兩篇文章中可以找到更長更詳細的解釋,它們使用非常相似的任務作為示例:
調整 DFM 加載(更新)
調整 DFM 加載
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/460925.html
