#ifndef __TDOCLOCK_H #define __TDOCLOCK_H #include "acdocman.h" class XDocAutoLock { protected: Acad::ErrorStatus m_esLock; AcApDocument *m_pDoc; public: XDocAutoLock(AcApDocument *pDoc=NULL, bool bPrompt=false):m_pDoc(pDoc) { if(!m_pDoc) m_pDoc=curDoc(); m_esLock=acDocManager->lockDocument(m_pDoc, AcAp::kWrite, NULL, NULL, bPrompt); } ~XDocAutoLock() { if(m_pDoc && m_esLock==Acad::eOk) { Acad::ErrorStatus es=acDocManager->unlockDocument(m_pDoc); ASSERT(es==Acad::eOk); } } Acad::ErrorStatus LockStatus() const { return m_esLock; } }; #endif