![]() |
【转帖】请帮我看看这个代码有什么问题?
请帮我看看这个代码有什么问题?
请帮我看看这个代码有什么问题? acdbobjectid createline() { acgepoint3d startpoint(10.0,10.0,0.0); acgepoint3d endpoint(20.0,20.0,0.0); acdbline *pline=new acdbline(startpoint,endpoint); acdbblocktable *pblocktable; acdbcurdwg()->getblocktable(pblocktable,acdb::kforread); acdbblocktablerecord *pblocktablerecord; pblocktable->getat(acdb_model_space,pblocktablerecord,acdb::kforwrite); pblocktable->close(); acdbobjectid lineid; pblocktablerecord->appendacdbentity(lineid,pline); pblocktablerecord->close(); pline->close() 编译时说:e:\objectarx 这应该是常规情况下类的成员函数不能用作函数指针的问题!你把 createline()函数定义成静态函数(如:static void createline()),注意,你若想定义成一个命令,不应有返回值, 另外: aced_arxcommand_entry_auto(carxproject2app, arxproject2, test, mycommand1, acrx_cmd_transparent, createline【你原来是null】) 还有,代码里acdbcurdwg()应该是别人定义一个返回当前数据库的函数,但却没有看到,应该用acdbhostapplicationservices()->workingdatabase()来替代。 ******************* e_mail : siebeneagle@yahoo.com.cn msn : siebeneagle@hotmail.com qq : 812928665 居然把代码放在卸载arx函数里面????放在这里试试// todo: add your initialization code here 代码里acdbcurdwg()应该是别人定义一个返回当前数据库的函数,但却没有看到,应该用acdbhostapplicationservices()->workingdatabase()来替代。 对的。。。。。 aced_arxcommand_entry_auto(carxproject2app, arxproject2, test, mycommand1, acrx_cmd_transparent, createline【你原来是null】) 对的。。。。。 哈哈 用好的心态学好来 楼主说的对 注意字母的大小写! |
所有的时间均为北京时间。 现在的时间是 04:31 AM. |