原先是在project文件里创建的,发现这样似乎不太合理,程序一启动这些dm会一股脑的被创建,应该在引用这个dm的模块里创建,或者在需要调用这个dm时被创建
通常的处理方法是什么?是不是在具体界面模块的constructor里创建dm?

解决方案 »

  1.   

    就在project里创建,但只有数据库连接,其他如query之类的在用的时候再连
      

  2.   

    数据模块里可以不需要窗体创建一个全局的对象SysDB,完成所有和数据库交互的工作.它里面创建ADOConnection ADOQuery.其它业务对象都调用SysDB的方法.
      

  3.   

    数据模块里可以不需要窗体 创建一个全局的对象SysDB,完成所有和数据库交互的工作.它里面创建ADOConnection   ADOQuery. 其它业务对象都调用SysDB的方法. 
    -------------------------
    我基本不用query,都用dataset,做数据操作很方便,我也没有什么很复杂的数据查询
      

  4.   

    就在在project文件里创建就很好,你甚至可以把它手工调到主窗体创建之前去,
    这样的话,在主窗体的OnCreate事件内也可以访问。
      

  5.   

    一般的按照默认的就可以了,
      Application.CreateForm(TfrmMain, frmMain);
      Application.CreateForm(Tdm, dm);
      Application.Run;也可以自行调整
      

  6.   

     就在project文件里创建就很好,如下: 
     begin
      Application.Initialize;
      Application.CreateForm(Tdm, dm);
      Application.CreateForm(TfrmMain, frmMain);
      Application.Run;
     end;
      

  7.   

    问题是我们项目的集成人很龟毛
    不让我们分模块在project文件里添加任何东西
      

  8.   

    数据模块里可以不需要窗体 创建一个全局的对象SysDB,完成所有和数据库交互的工作.它里面创建ADOConnection   ADOQuery. 其它业务对象都调用SysDB的方法. 
    ----------
    支持这个,
    其实只需要一个ADOConnection,这个做全局变量,
    需要ADOQuery 时再创建
      

  9.   

    我是在工程文件里创建的数据模块,但里面只涉及到数据库联接,其他的像query之类的东西,就在实际使用的时候再处理!