明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1546|回复: 2

打开新文档后不能操作 2楼有解决方法拉~

[复制链接]
发表于 2010-7-29 17:01:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-7-30 14:34:32 编辑

  1. //用以下代码打开指定的dwg
  2. acDocManager->appContextOpenDocument("F:\\test.dwg");
复制代码
  1. 之后我测试,已经是新打开的文档名字了
  2. MessageBox(NULL, TEXT(acDocManager->curDocument()->fileName()), "", 0);
复制代码

可是为什么下面的的操作不能正常进行了呢?
  1. ......
  2. // 获得当前数据库的块表
  3. AcDbBlockTable *pBlkTbl;
  4. acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlkTbl, AcDb::kForRead);
  5. // 获得模型空间的块表记录
  6. AcDbBlockTableRecord *pBlkTblRcd;
  7. pBlkTbl->getAt(ACDB_MODEL_SPACE, pBlkTblRcd,AcDb::kForRead);
  8. pBlkTbl->close();
  9. // 创建块表记录遍历器
  10. AcDbBlockTableRecordIterator *pItr; // 块表记录遍历器
  11. pBlkTblRcd->newIterator(pItr);
  12. AcDbEntity *pEnt; // 遍历的临时实体指针
  13. for (pItr->start(); !pItr->done(); pItr->step())
  14. {
  15. //问题在这里。。。。。。。。。循环进不来。。。。就是说没有一个实体被发现。。。
  16. //但是新打开的文件里面已经是有画好了的图的。。。。
  17. }
  18. ......
复制代码

for (pItr->start(); !pItr->done(); pItr->step())
{
  //问题在这里。。。。。。。。。循环进不来。。。。就是说没有一个实体被发现。。。//但是新打开的文件里面已经是有画好了的图的。。。。
}
 楼主| 发表于 2010-7-30 14:31:00 | 显示全部楼层

原来关键是要锁定文档啊
加了下面这句就好拉~!

acDocManager->lockDocument(acDocManager->curDocument());

 

 楼主| 发表于 2010-7-30 14:32:00 | 显示全部楼层
还有理论应将命令注册为ACRX_CMD_SESSION的
可是我试验不这样也可以呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-22 16:54 , Processed in 0.166641 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表