#ifndef __DOCLOCK_H #define __DOCLOCK_H #include "acdocman.h" class DocAutoLock { protected: Acad::ErrorStatus m_esLock; AcApDocument *m_pDoc; public: DocAutoLock(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); } ~DocAutoLock() { 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