![]() |
【转帖】objectarx开发实例教程遇到的问题
objectarx开发实例教程遇到的问题
objectarx开发实例教程遇到的问题 实例2.2中 如果你对 c 语言还算熟悉,你应该会主动将两个自定义函数createline 和changecolor 放在zffchap2changecolor 函数前面,于是本节的程序成功编译;如果你对c 语言的概念还有些含糊,没有这样做,你肯定在怪罪作者给出了一个无法成功编译的程序。真的出现后者的情况,你最好还是再温习一下 c 和c++的知识。 对于 你应该会主动将两个自定义函数createline 和changecolor放在zffchap2changecolor 函数前面 怎么理解? 是这样吗? #include "stdafx.h" #include "stdarx.h" #include "dbents.h" acdbobjectid createline() { acgepoint3d ptstart(0, 0, 0); acgepoint3d ptend(100, 100, 0); acdbline *pline = new acdbline(ptstart, ptend); acdbblocktable *pblocktable; acdbhostapplicationservices()->workingdatabase() ->getblocktable(pblocktable, acdb::kforread); acdbblocktablerecord *pblocktablerecord; pblocktable->getat(acdb_model_space, pblocktablerecord, acdb::kforwrite); acdbobjectid lineid; pblocktablerecord->appendacdbentity(lineid, pline); pblocktable->close(); pblocktablerecord->close(); pline->close(); return lineid; } acad::errorstatus changecolor(acdbobjectid entid, adesk::uint16 colorindex) { acdbentity *pentity; // 打开图形数据库中的对象 acdbopenobject(pentity, entid, acdb::kforwrite); // 修改实体的颜色 pentity->setcolorindex(colorindex); // 用完之后,及时关闭 pentity->close(); return acad::eok; } void zffchap2changecolor() { // 创建直线 acdbobjectid lineid; lineid = createline(); // 修改直线的颜色 changecolor(lineid, 1); // todo: implement the command } 怎么运行出错了? 顶 什么告警信息? 建立程序 函数中粘贴你的代码 运行没问题 [ 本帖最后由 catface 于 8-11-15 10:03 pm 编辑 ] |
所有的时间均为北京时间。 现在的时间是 12:20 PM. |