TDataModule 是一个“容器”,在它里面你可以放上任何非可视化的控件,比如 Timer,ClientSocket,ServerSocket,或者DataAccess 中的冬冬,然后用 DataModule.ControlName 来访问各个控件。其目的就是为了便于集中管理,方便使用。

解决方案 »

  1.   

    添加的时候,直接把非可视化控件放在 TDataModule 上啊,就好像把控件放在 Form 上一样。不过你只可以放 非可视化的控件。
      

  2.   

    只要在想要调用TdataModule模块中的uses中,加上TDataModule的名字,就可以引用上面的可视化控件了,如Tdatamodule1.table.open...等等
      

  3.   

    关于TDataModule这个问题开始也困扰了我很久 , 后来在《Delphi5.0开发人员指南》上找到了答案 , 其实这是为了在数据库编程时提高可重用性而要利用的东东 。 因为你可以将所有的商业规则封装在里面 , 从而有利于再次利用 。 在使用的时候 , 虽然其本质可以象上面的仁兄所说的在uses子句中直接填写而来 , 还可以先在File|New中选择Data Module,并注意选择Copy选项,然后在要使用的地方用File|Use Unit将数据模块的单元名选中即可 , 但要注意 , 此时 , 引用的单元必须是源代码视图 , 否则会无效 。 嘿嘿!这个问题可是我自己摸索出来的 , 怎么能这么便宜地告诉你 , 赶快给分!!!
      

  4.   

    virtualmfc,《Delphi5.0开发人员指南》这本书我手里也有,你告诉我在第几页,我自己看一下?
      

  5.   

    TDateModule的好处显而易见, DataModule1.Create后就产生了一个实例,其中的元件
    也跟着产生实例,这在多线程用数据库时很方便,因为每一线程都必须要DataModule1的实例 ;