我添加一个组件到表单,那么这个组件就是全局的,怎样使它成为一个局部的?
我曾试过在一个函数内部自已申明一个TQuery 对象。但是由于那样要加上大量的自已的初始化代码,所以,好像是不可行的。有谁能给出解决方案。
相关问题:
我想编出一个无界面的程序,这个程序会运行在一个空闲机上,承担超大量的数据处理操作。由于涉及到数据库,所以必须添加组件。所以,控制台程序好像是不可行的吧?如果非控制台程序,那么要么是完全的无界面,那么组件添加到哪个地方?是手工添加么?要么只能是取个巧,让界面不显示。全局组件的几大坏处:
1:大量的内存
2:不利于模块化。不利于编出某个通用的函数。

解决方案 »

  1.   

    只能自己创建了,也不需要太多的代码,只不过把你在界面上设置的一些属性用代码实现罢了。
    比如:
    var
      AQuery:TQuery;
      
      AQuery:=TQuery.Create(nil);
      with AQuery do
      begin
        DatabaseName:='Yourdatabase';
        SQL.Text:='.....';
      end;
      

  2.   

    1、使用楼上的方法,还要注意自己释放AQuery的问题。
    2、将所有数据库组件放在DataModule中,由于DataModule与Form不同,不接收消息,所以节省系统资源。
    最好的方法是,定制一个类,负责所有对数据库访问的细节,与调用者只有一个固定的接口。
      

  3.   

    使用数据模块,如果不想要窗体,点project---》remove from project将窗体都易去就可以了,但还是应该有个隐藏的窗口来完成你所需要的操作