求教MoveNext()的使用方法
本帖最后由 xkaeli 于 2015-3-18 15:20 编辑求教我使用DbDictionaryEnumerator.MoveNext()函数时老是在随机位置意外崩溃,有时刚处理两张图就崩溃了,有时处理几十张图也不会出事。但是当运行完这些代码以后无论发生哪种情况,在关闭CAD程序时CAD都会崩溃。
以下代码:ObjectId layid = db.LayoutDictionaryId;
DBDictionary dbd = tran.GetObject(layid, OpenMode.ForRead) as DBDictionary;
DbDictionaryEnumerator dbde =dbd.GetEnumerator();
Layout lay;
while (dbde.MoveNext())
{
layid = dbde.Value;
lay = tran.GetObject(layid, OpenMode.ForRead) as Layout;
filList = new TypedValue((int)DxfCode.LayoutName, lay.LayoutName);
prompsel = ed.SelectAll(selfilter);
if (prompsel.Status != PromptStatus.Error)
{
spage = prompsel.Value.Count;
for (int i = 0; i < spage; i++)
{
blrf = tran.GetObject(prompsel.Value.ObjectId, OpenMode.ForRead) as BlockReference;
Mid_CAD_entity.Add(blrf);
Mid_Space.Add(lay.LayoutName);
}
var varpt = from pt in Mid_CAD_entity orderby -pt.Position.Y, pt.Position.X select pt;
CAD_entity = varpt.ToList<BlockReference>();
}
} 最后崩溃可能是文档锁的原因?
立刻崩溃应该是空值的引用 雪山飞狐_lzh 发表于 2015-3-18 17:52 static/image/common/back.gif
最后崩溃可能是文档锁的原因?
立刻崩溃应该是空值的引用
按道理来讲,如果到达某一文档崩溃的话,下次到达该文档依然会崩溃。可我这个程序竟然是随机的。并且不对崩溃界面响应的话程序还能正常处理。完全被搞蒙了
页:
[1]