明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1820|回复: 3

[运行时] 很奇怪的错误提示:!dbobji.cpp@7227:eNotOpenForWrite

[复制链接]
发表于 2017-11-2 14:16:32 | 显示全部楼层 |阅读模式
我明明是以写的模式打开的,为什么会出现这种错误呢?
刚接触C#  好多东西还在摸索,希望路过的高手帮下忙。

我先贴出部分代码:

  1. //这是另外一个类的,这两行应该是没问题的。
  2. mDoc = Application. DocumentManager. MdiActiveDocument;
  3. mDb = mDoc. Database;

  4. public class MySymbolTableRecord
  5. {
  6.    protected ObjectId AddEntity (BlockTableRecord btRecord, Entity ent)
  7.    {
  8.     ObjectId ObjId;
  9.     using (Transaction tran = mDb. TransactionManager. StartTransaction( ))
  10.     {
  11.      //调试的时候每次都是运行到这位置就出错了
  12.      //内部错误: !dbobji.cpp@7227:eNotOpenForWrite
  13.      ObjId = btRecord. AppendEntity(ent);
  14.      tran. AddNewlyCreatedDBObject(ent, true);
  15.      tran. Commit( );
  16.      }
  17.      return ObjId;
  18.      }
  19.      protected DBObject GetDBObject (ObjectId id, OpenMode mode)
  20.       {
  21.      DBObject dbObj;
  22.      using (Transaction tran = mDb. TransactionManager. StartTransaction( ))
  23.      {
  24.      dbObj = tran. GetObject(id, mode);
  25.      }
  26.      return dbObj;
  27.      }
  28. }

  29. public class Drawing : MySymbolTableRecord
  30. {
  31.      private BlockTableRecord mBlkTabRec;
  32.      private Calculation mCalc;
  33.      public Drawing ( )//构造函数
  34.      {
  35.      mBlkTabRec = GetDBObject(mDb. CurrentSpaceId, OpenMode. ForWrite) as BlockTableRecord;
  36.      mCalc = new Calculation( );
  37.      }
  38.      public ObjectId AddLine (Point2d ptStart, Point2d ptEnd)//画直线
  39.      {
  40.      Line line = new Line(mCalc. P2ToP3(ptStart), mCalc. P2ToP3(ptEnd));
  41.      return AddEntity(mBlkTabRec, line);
  42.      }
  43.    }


发表于 2017-11-2 19:57:26 来自手机 | 显示全部楼层
你这样是试图用第一个事务打开的块表记录 去添加第二个事务的实体...感觉有点怪怪 建议用事务做为参数 从头到尾用一个事务
发表于 2017-11-3 09:23:06 | 显示全部楼层
不懂C#,不过new之后是不是应该open?
 楼主| 发表于 2017-11-4 19:10:35 | 显示全部楼层
雪山飞狐_lzh 发表于 2017-11-2 19:57
你这样是试图用第一个事务打开的块表记录 去添加第二个事务的实体...感觉有点怪怪 建议用事务做为参数 从头 ...

嗯  应该是这样的  我把所有的代码放在一个一起就没出现这个情况了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 10:03 , Processed in 0.158836 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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