2012-09-27 53 views
18

在您的項目中使用DataModule的目的是什麼?與普通類或模塊相比,它有什麼特殊屬性?它通常用於什麼約定?Delphi中的DataModule(dm)是什麼?

+7

@iManBiglari,這不是每個問題在這裏嗎? –

+1

@UweRaabe的確 –

+1

+1;很好的問題!羅德的人甚至不會考慮DM可以用於何處。 –

回答

18

datamodule是一個非可視化的「表單」(容器),可以包含非可視化組件(通常是數據庫組件,雖然可以添加任何組件,例如對話框和組件),然後可以被多個形式。

本維基進一步解釋:Delphi Wikki

+0

+1;要點在一個簡單的句子。我通常擁有一個'TXyzActionDataModule',它包含'TAction'實例(打包在一個'TActionList'中或類似的東西),用於一組圍繞某些常見'Xyz' feture相關的窗體/框架。 –

+0

+1,並且在Delphi XE2中,我記得曾經嘗試將非數據庫組件添加到數據模塊,並且只有與數據庫相關的組件纔會顯示在調色板中......從那以後,我一直能夠這樣做。 –

9

它通常用於數據集和數據源對象,讓他們在一箇中央位置。 DataModule只能包含非可視化組件,但不僅限於數據訪問組件。你可以把一個TTimer它並SaveDialog等等

當你有多種形式,可以是有用的,需要改變的代碼只在一個地方,而不是各種形式。

6

在我的桌面應用程序,我通常都包含一堆TImageList■一個數據模塊。如果我的應用程序使用TCP/IP,則組件位於單獨的數據模塊上。當然,幾乎所有的應用程序邏輯都在不同的數據模塊中。而且,如果我需要創建一個服務應用程序,我把我的邏輯放在一個數據模塊中,這樣我就可以輕鬆地創建一個桌面應用程序來進行調試。最後,但是大多數情況下,我把數據訪問組件放在數據模塊上。

9

甲數據模塊不同於簡單的類,它可以將表單設計器中的設計和其組件可與該對象檢查員進行編輯。數據模塊還有一個以DFM文件流式傳輸的資源。

此外一個數據模塊可以被其他數據模塊,形式和幀,然後它的組件可用於在對象檢查器選擇中使用了。

相關問題