如果在多文档环境下,使用pDb->readDwgFile("d:\\test.dwg");函数需要锁定文档,可以使用如下代码来实现临时锁定文档, class AFX_CLASS_EXPORT CTempDocLockOverride { public: CTempDocLockOverride(); virtual ~CTempDocLockOverride(); private: AcApDocument* m_pDoc; }; CTempDocLockOverride::CTempDocLockOverride() { m_pDoc = acDocManager->curDocument(); if(m_pDoc) acDocManager->lockDocument(m_pDoc); } CTempDocLockOverride::~CTempDocLockOverride() { acDocManager->unlockDocument(m_pDoc); }
//暂时锁定当前文档 #define TEMPDOCLOCK() CTempDocLockOverride tempDocLock; 使用 TEMPDOCLOCK();宏即可实现临时锁定文档的功能。 |