OPC内存泄漏

来源:互联网 发布:java中关键字 编辑:程序博客网 时间:2024/05/20 03:42

OPC内存泄漏

本人做了一个应用到OPC的程序,可是只要使用到OPC读取,程序的内存就会每秒增加2K。我的程序是监控用的,需要长时间开着,我担心内存会无限增加下去。不知道哪位高手也遇到这个问题,帮忙小弟解答一下,谢谢

我用的是异步写OPC.

IOPCAsyncIO2 * m_pOPCAsync;

HRESULT * pErrors;
 DWORD WriteNumber(5);
 OPCHANDLE * hServerWrite;
 hServerWrite = new OPCHANDLE[30];
 hServerWrite[0] = m_pItemResult[0].hServer;
 hServerWrite[1] = m_pItemResult[1].hServer;
 hServerWrite[2] = m_pItemResult[2].hServer;
 hServerWrite[3] = m_pItemResult[3].hServer;
 hServerWrite[4] = m_pItemResult[4].hServer;
 VARIANT * WriteValue;
 WriteValue = new VARIANT[5];
 DWORD dwCancelID;
 for (int i=0; i<WriteNumber; i++)
 {
    WriteValue[i].vt = VT_R8;
     WriteValue[i].dblVal = m_dValueTest;
  m_dValueTest = m_dValueTest+0.01;
 }

HRESULT hr =m_pOPCAsync->Write(WriteNumber, hServerWrite, WriteValue, 1, &dwCancelID, &pErrors); 

 delete [] WriteValue;
 delete [] hServerWrite;

 

 

 

我试了只要不调用这一句
HRESULT hr =m_pOPCAsync->Write(WriteNumber, hServerWrite, WriteValue, 1, &dwCancelID, &pErrors);
就没有泄漏.大家有什么方法.

原创粉丝点击