C++ BUilder 开发的线程,内存不断增加的问题
用c++Builder开发了一个线程,操作数据库,内存会不断的增加,以下面这个简单的线程为例,大概以4K左右的速度增加内存,这个是什么原因呀?是什么地方出了问题呀?
线程函数代码如下:
DWORD WINAPI ThreadProcessAlarmFun( LPVOID lpParamenter)
{
AnsiString astrSql="",astrSeLineName="";
TADOQuery *qryAlarmFind=new TADOQuery(NULL);
TADOConnection *conLightShowFind= new TADOConnection(NULL);
AnsiString astrString="Provider=SQLOLEDB.1;Persist Security Info=True;User ID="+astrUserName+";Password="+astrPassword+";Initial Catalog="+astrDateBaseName+";Data Source="+astrServerIp;
while(ThreadProcessAlarmFlag==true)
{
CoInitialize(NULL);
try
{
conLightShowFind->Close();
conLightShowFind->ConnectionString=astrString;
conLightShowFind->LoginPrompt=false;
conLightShowFind->Open();
qryAlarmThreshold->Connection=conLightShowFind;
qryAlarmFind->Connection=conLightShowFind;
qryAlarmExc->Connection=conLightShowFind;
astrSql="select Line_Name from TAB_Workbay where I_Type=0";
qryAlarmFind->Close();
qryAlarmFind->SQL->Text=astrSql;
qryAlarmFind->Open();
while(!qryAlarmFind->Eof)
{
astrSeLineName= qryAlarmFind->FieldByName("Line_Name")->AsString;
qryAlarmFind->Next();
}
qryAlarmFind->Close();
conLightShowFind->Close();
}
catch(...)
{
;
}
CoUninitialize();
Sleep(100);
}
}