高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】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 编辑 ]
|