在代码中关闭autocad文档后立即删除文档的方法

1、需求:在代码中调用acDocManager->closeDocument(pDoc)后,要求调用::DeleteFile()删除刚才关闭的文档。

 

2、问题:如果直接调用::DeleteFile(),会由于文件被占用而失败。这是由于虽然调用了closeDocument(pDoc),但是pDoc对象尚未析构,文件句柄尚未关闭(猜的)造成的。

 

3、解决方案:利用AcApDocManager类的反应器——AcApDocManagerReactor::documentDestroyed(const char* filename);方法来实现删除。该方法是文档被完全销毁并且与文档关联的数据库也被删除时调用。

 

4、实现:

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