void IDisposable.Dispose() { m_sysInfo = null; m_projectinfo = null; m_exceptioninfo = null; m_callstackinfo = null; m_ErrorCallStack = null; m_smexmlwriter = null; XMLFilePath = null; if (m_CollectThread != null) { m_CollectThread.Abort(); m_CollectThread = null; } if(CollectSemaphore != null) { CollectSemaphore.Close(); CollectSemaphore.Dispose(); } if(m_SaveXMLThread != null) { m_SaveXMLThread.Abort(); m_SaveXMLThread = null; } }
private void SaveToXML() { CollectSemaphore.WaitOne(); m_smexmlwriter = new SMEXMLWriter(m_projectinfo, m_sysInfo, m_exceptioninfo, m_callstackinfo); DateToFileName(); m_smexmlwriter.SaveToXML(XMLFilePath); CollectSemaphore.Release(1); SaveSemaphore.Release(1); }