21

在您的项目中使用 DataModule 的目的是什么?与普通类或模块相比,它有什么特殊属性吗?它通常用于什么的约定是什么?

4

4 回答 4

20

数据模块是一个非可视“表单”(容器),可以包含非可视组件(通常是数据库组件,尽管可以添加任何组件,例如对话框和Indy组件),然后可以由许多表单共享。

本维基进一步解释:Delphi Wiki 。

于 2012-09-27T16:20:26.077 回答
10

它通常用于 Dataset 和 DataSource 对象,以将它们保存在中心位置。DataModule 上只能包含非可视组件,但不仅限于数据访问组件。你可以在上面放一个 TTimer 和 SaveDialog 等...

当您有多个表单时,它可能很有用,只需要在一个地方更改代码,而不是每个表单。

于 2012-09-27T16:26:36.680 回答
10

数据模块不同于可以在表单设计器中设计的简单类,并且可以使用对象检查器编辑其组件。数据模块还有一个在 DFM 文件中流式传输的资源。

此外,数据模块可以被其他数据模块、表单和框架使用,然后它的组件也可以在对象检查器中进行选择。

于 2012-09-27T16:29:14.153 回答
6

在我的桌面应用程序中,我通常有一个包含一堆TImageLists 的数据模块。如果我的应用程序使用TCP/IP,则组件位于单独的数据模块上。当然,我的应用程序几乎所有的逻辑都放在不同的数据模块中。而且,如果我需要创建一个服务应用程序,我会将我的逻辑放在一个数据模块中,以便我可以轻松地围绕它创建一个桌面应用程序以进行调试。最后,但最不重要的是,我大部分时间都将数据访问组件放在数据模块上。

于 2012-09-27T16:26:42.077 回答