刚打开的文件为什么不能写入?

文章探讨了在调试代码时遇到的无法对刚打开的DWG文件进行写入的问题。问题源于使用命令行调试导致的文档和后台进程的对应错误。作者指出,需要正确处理文档和命令行之间的关系以避免中断和错误。解决方案在于调整代码以适应后台文件的写入需求。
摘要由CSDN通过智能技术生成

本文迁移自本人网易博客,写于2012年2月23日,刚打开的文件为什么不能写入? - lysygyy的日志 - 网易博客 (163.com)

public void Test() { const string fn = "D:\\bb.dwg"; Document fDoc = Application.DocumentManager.Open(fn, false); Database fDB = null;// fDocumentACAD.Database; fDB = fDoc.Database; DocumentLock lk=fDoc.LockDocument(); fDatabaseDWG.SaveAs(fn, DwgVersion.Current); lk.Dispose(); //eFileAccessErr 刚打开的文件为什么不能写入? }

现在给出我分析的原因。 以上代码本身本无问题; 出错又是事实,为什么呢?就是在于“调试方式”。 我们大多在测试时用 “命令行” ,这本身并没有什么不对的,只是它对于当前的文档或库是有效的,对于后台的 就不行了。如果强行在代码中切换操作的文档为当前。然而发出命令的是另外的文档对应的命令行。所以中间会中断 直到回到发出命令的文档。这样始终存在一个错误的对应关系。故而调试会出错。

找到了原因,那么该如何向后台dwg文件写入数据呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值