?

解决方案 »

  1.   

    DataModule 是从 TComponent 继承下来的,他根本就不是一个窗口,它只能算最一个容器,被设计成简洁高效,而且这个容器只能接纳数据库控件。你完全可以利用一个窗体来替代DataModule,但是这样资源代价会大些。
      

  2.   

    数据模块只是一个数据控件组的概念,对Delphi自身提供的数据访问控件提供了很好的支持,在直观开发数据库访问层的时候设计起来非常便利,因为它可以支持可视化编程(就好像界面设计一样,你可以设置很多参数,方法,访问方式),在Delphi自带的数据库Demo里头,很多就使用了这种设计方式,可见在小规模应用程序设计上有很好的效果。至于大型开发,就要看你选择的是那种数据库访问组件。我认为DataModule秉承了Delphi快速开发的特点,在对数据访问面向对象的方面做了比较好的实现。
      

  3.   

    还有个好处,大家都没说到:在DataModule的创建事件中可写入初始化代码,而常常需要把其放到程序运行的开头,而如果使用了一般的窗体(非主窗体),则会与主窗体发生冲突,因为Delphi默认最先创建的窗体就是主窗体。