只需一步,快速开始
我是初学者,最近碰到一个问题,在读dwg文件时,
dwgpath="D:\\Drawing1.dwg";
AcDbDatabase *pNewDb =new AcDbDatabase(Adesk::kFalse); int es=pNewDb->readDwgFile(dwgpath , _SH_DENYNO,false); if (es!=Acad::eOk) { acutPrintf("\nThe file %s cannot be opend",dwgpath); return; }
es总是不等于Acad::eOk,值是320;不知道为什么,在别的程序里可以运行,很奇怪。
这里我是在一个双击对话框的消息函数里调用这些语句的,请教各位!
使用道具 举报
调试检查一下是不是这个文件已经被打开了?
捕捉一下es返回值是什么就知道是什么问题了
看了王斑竹几年前的一个帖子,问题解决了,谢谢各位!方法如下:
如果是DockControBar或modeless窗体, 在调用acdbOpenObject, acdbOpenAcDbEntity等函数时, 要在处理前
acDocManager->lockDocument(curDoc(),AcAp::kWrite,NULL,NULL,true);
调用结束后
acDocManager->unlockDocument(curDoc());
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-25 23:54 , Processed in 0.164897 second(s), 23 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.