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

来源:互联网 发布:ps4pro优化游戏 编辑:程序博客网 时间:2024/06/06 07:24

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

 

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

 

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

 

4、实现:

原创粉丝点击