请问可不可以连续拖动,并且给所拖动的实体加上自定义属性?
我现在有个程序出现这样的毛病,当拖动一个块引用的时候,拖动完添加到数据库中,然后为该实体添加属性,当第一次创建一个块引用,然后设置属性的时候没有问题,但是我要是把这段拖动添加属性的程序放在一个循环里就会出现问题,也就是说,当循环第一次的时候没有问题,但是当循环第二次的时候,就会出现Unhandled错误(出现在jig->drag()处),当我尝试不放在循环里,一次创建一个实体,没有 问题,当我尝试放在循环中但是不添加属性也没有问题~~
以下是代码大概的流程:
while (True)
{
AcDbBlockReference* pblkRef = new AcDbBlockReference;
......//设置块引用的块表Id,和一些其他的设置
CBlockJig* pblkjig = new CBlockJig(pblkRef);
pblkJig->doIt();
delete pblkJig;
pBlockRecord -> appendEntity(pblkRef);
//...为pblkRef设置属性
pblkRef->close();
}
当运行第一次的时候,没有问题,能拖动,当循环第二次的时候,到pBlkjig->doit()(这里是拖动的代码)就会出现UnHandled错误~,不设置属性或者没有循环都不会出现错误 |