高手请进:TADOQuery在使用时内存在不停的增加。
具体代码如下:以下代码在一个函数内运行,每执行一次就内存就增加一点。。。。。
TADOQuery * dbf_sql_show;
TDataSource *ds4;
dbf_sql_show=new TADOQuery(NULL);
ds4=new TDataSource(NULL);
dbf_sql_show-> Connection=ADOCon;
dbf_sql_show-> CursorType=ctStatic;
dbf_sql_show-> LockType=ltReadOnly;
dbf_sql_show-> CursorLocation= clUseClient;
dbf_sql_show-> Active=false;
dbf_sql_show-> SQL-> Clear();
dbf_sql_show-> SQL-> Add( "select * from "+Tab_namR+ " where ID= ' "+idx+ " ' ") ;
dbf_sql_show-> ExecSQL() ;
dbf_sql_show-> Active =true;
ds4-> DataSet=dbf_sql_show;
this-> DBGrid4-> DataSource=ds4 ;
delete xls_sql_show;
xls_sql_show=NULL ;
[解决办法]
在程序中添加一个DataModule,然后将ADOConnection,ADOQuery,DataSource放在DataModule上面,用时直接操作这几个组件就行。