MickD 发表于 2006-4-27 11:44:45

AcDbExtents Implementation...

问题:
如果我调用AcDbExtents,因为我在下面的代码中有它,它会破坏智能感知,直到我在变量名前面添加了&,但当我编译时,它会要求初始化,所以我取出&,错误消失了,可以编译SLN...但是该行之后的所有智能感知都不可用,只有当我删除该行时它才会出现,有人知道为什么吗?
我正在寻找一种方法来获取对象在视图扭曲视图中的范围......这也是最难的部分......
谢谢!
static void GetExtents(void) {
ads_name en;
AcGePoint3d p;
Acad::ErrorStatus es;
AcDbObjectId objId;
if (acedEntSel("\nSelect object: ",en,asDblArray(p)) != RTNORM) return;
if (acdbGetObjectId(objId,en) != Acad::eOk) return;
AcDbObjectPointer pEnt(objId,AcDb::kForRead);
if (pEnt.openStatus() == Acad::eOk) {
          AcDbExtents extents; // getGeomExtents(extents);
          AcGePoint3d max, min;
          max = extents.maxPoint();
          min = extents.minPoint();
}

**** Hidden Message *****

MickD 发表于 2006-4-27 15:38:03

还行。。。。然后我会猜,这是一个错误?

Draftek 发表于 2006-4-27 15:55:47

函数结束时关闭}怎么样?

MickD 发表于 2006-4-27 18:22:59

此外,在函数调用中使用“&”尝试它,因为在函数签名中它获取变量的“地址”,因此它知道将结果存储在哪里。
pEnt->getGeomExtents(&Exents);
hth

MickD 发表于 2006-4-27 20:00:29


是的,我忘记了我发布的代码的结尾}...但没有帮助......它也在做同样的事情,只有当我删除对AcDbExtents的调用时,它才会带来智能感知...或者如果我在变量中添加&,但也是对minPoint和maxPoint属性的下一次调用,它不会带来智能感知......非常奇怪......
谢谢。

MickD 发表于 2006-4-27 20:05:33


我尝试了所有的可能性,这个也是...并且不起作用...我也在另一台计算机上进行了测试,并做了同样的事情

Draftek 发表于 2006-4-27 20:19:50


pEnt->getGeomExtents(扩展);
??

Draftek 发表于 2006-4-27 20:23:44

getGeomExtents通过引用(而不是指针)获取其参数,因此如Luis发布的代码所示调用它是正确的。
关于Intellisense,我让它在ObjectARX上正确工作的唯一方法是遵循Tony Tanzillo的建议。您创建了一个新的ObjectARX项目,并向其中添加了所有的ObjectARX头。然后将这个项目插入到每个ObjectARX项目的工作空间中,并进行完整的编译。之后,智能感知(通常)会起作用。

MickD 发表于 2006-4-27 20:47:26

不....它根本不起作用....如果我取出 AcDbExtents extents,一切正常....我也试过其他SLN的...同样的东西。
好吧,没什么大不了的,我认为是我....
谢谢!

Draftek 发表于 2006-4-27 20:50:40

同意的....
页: [1]
查看完整版本: AcDbExtents Implementation...