Files
envi-code/SourceCode/Code2026/inc/AdsXRx/DocAutoLock.h
T
2026-09-28 15:28:50 +08:00

32 lines
657 B
C++

#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