几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】请帮我看看这个代码有什么问题? (http://www.dimcax.com/hust/showthread.php?t=8075)

yang686526 2009-04-18 07:35 PM

【转帖】请帮我看看这个代码有什么问题?
 
请帮我看看这个代码有什么问题?
请帮我看看这个代码有什么问题?
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.