几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】acdbobject::upgradeopen()出现的问题! (http://www.dimcax.com/hust/showthread.php?t=6065)

yang686526 2009-04-14 02:51 PM

【转帖】acdbobject::upgradeopen()出现的问题!
 
acdbobject::upgradeopen()出现的问题!
acdbobject::upgradeopen()出现的问题!
当用acdbobject::upgradeopen()将一个层表记录改为 kforwrite时,提示acad::ehadmultiplereaders,无法改变其读写的状态
只有用->close()函数关闭层表记录,再执行upgradeopen() ,操作成功。
是不是运用upgradeopen() 前必须关闭对象呢?
但是我在另外一个工程中却没有这样的问题,不解!请高手指教,呵呵。。。
silence of happiness....
acad::errorstatus
upgradeopen();
if the object is currently open acdb::kforread with only one reader, then this function upgrades the object to open acdb::kforwrite. in the process of changing to open for write, the object is closed, thus triggering any pertinent notification.
returns acad::eok if successful. if the object has more than one reader, then the open status is not changed and adesk::ehadmultiplereaders is returned. if the object is already open acdb::kforwrite, then acad::ewasopenforwrite is returned. if the object is currently sending notification, then the open status is not changed and acad::ewasnotifying is returned.
note a call of this function does not need to be matched with a call to downgradeopen(), since a call to close() or cancel() will sufficiently cleanup the entity抯 open state.
注意这个函数中的说明 if the object has more than one reader, then the open status is not changed and adesk::ehadmultiplereaders is returned
江苏昆山小城,欢迎交流
本职工作五金模具设计及加工
及cad软件开发
没有啊,层表记录只有在获得层表记录时以kforread模式打开的,然后马上用upgradeopen()函数将其改为kforwrite状态。应该是没有问题的。
还有一个问题是:同是这个程序,放在另外一个工程中并没有这样的问题,百思不得其解。
silence of happiness....
不好意思,我是现在还是菜鸟,还有很多的问题不懂呢....
望有达人们来解决吧
江苏昆山小城,欢迎交流
本职工作五金模具设计及加工
及cad软件开发
我还未为达人,建议看看帮助文件


所有的时间均为北京时间。 现在的时间是 11:44 AM.