- 积分
- 1317
- 明经币
- 个
- 注册时间
- 2003-3-11
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
現在有三實體.A,B,C.它們的包涵關系是A中有B,同時B也保留有A的ID.B中有C.如下:
A
{
.......
AcDbSoftPointerId ID_B;
}
B
{
.......
AcDbSoftPointerId ID_A;
AcDbSoftPointerId ID_C;
}
情況是:當A修改時,B將會通過反應器也被修改.B一旦被改,它包涵的C將被刪除,并重新生成一個C.也就是ID_C值改變了.
在A的deepclone中調用B的deepclone.B的deepclone調用C的deepclone.
現在的問題是:
當我做A的CP操作時.將會得到A1,B1,C1. A1,B1,C1,之間的關系完全正确.
A和B的關系也正确.但B和C的關系就不對了.雖然C确實是被刪除重新生成了,但是在刪除重新生成的函數中我已就地更新了B的ID_C值.CP操作後為什麼B的ID_C值還是原來的值?我非常不解.刪除重新生成和更新B的ID_C值是在同一個函數中進行的,為什麼其值卻沒有變? |
|