【MS CE C++】 DependencyLinkage进不去回调函数

老师们好。请问一个关于DependencyLinkage的问题,如下,

现有两个元素,root元素在2D Model, Dependent元素在3D model. 以root元素InitLinkage,Dependent元素AppendLinkage。

更改root元素进不去回调函数, 更改Dependent元素可进。

OnRootsChanged(ElementHandleCR dependentElement, DependencyLinkage const& dependencyData, UInt8 *pRootStatus, UInt8 selfStatus) ,

调试看了dependencyData中有root元素Id, 但pRootStatus总为DEPENDENCY_STATUS_UNRESOLVED,即未找到根元素。这是什么原因呢?

在同一个model下时均可进回调函数。

if (SUCCESS == DependencyManagerLinkage::InitLinkage(*m_pDependencyLikage, g_appID,
DEPENDENCY_DATA_TYPE_FAR_ELEM_ID, DEPENDENCY_ON_COPY_DropDependency))
{
    m_pDependencyLikage->nRoots = 1;
    m_pDependencyLikage->appValue = g_appValue;
    m_pDependencyLikage->u.f.dontRequireAppForDelete = false;
    m_pDependencyLikage->u.f.requireApp = false;
    // Add the first element as root
    //m_pDependencyLikage->root.elemid[0] = elmIdRoot;
    m_pDependencyLikage->root.far_elemid[0].elemid = elmIdRoot;
    m_pDependencyLikage->root.far_elemid[0].refattid = eehRoot.GetDgnModelP()->GetModelId();

    return SUCCESS;
}

 

Parents Reply Children