在代碼中關閉autocad文檔後立即刪除文檔的方法

1、需求:在代碼中調用acDocManager->closeDocument(pDoc)後,要求調用::DeleteFile()刪除剛纔關閉的文檔。

 

2、問題:如果直接調用::DeleteFile(),會由於文件被佔用而失敗。這是由於雖然調用了closeDocument(pDoc),但是pDoc對象尚未析構,文件句柄尚未關閉(猜的)造成的。

 

3、解決方案:利用AcApDocManager類的反應器——AcApDocManagerReactor::documentDestroyed(const char* filename);方法來實現刪除。該方法是文檔被完全銷燬並且與文檔關聯的數據庫也被刪除時調用。

 

4、實現:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章