ArcEngine中对relationship的图层编辑时,得初始化license。不然源图层的元素删除不掉。
CoInitialize(NULL);
{
CComPtr<IAoInitialize> pAoInitialzie;
esriLicenseStatus Status;
HRESULT hr;
//IAoInitializePtr ipInit(CLSID_AoInitialize);
hr=pAoInitialzie.CoCreateInstance(CLSID_AoInitialize);
// 如果不具有读写许可则,使用只读许可
pAoInitialzie->IsProductCodeAvailable(esriLicenseProductCodeEngineGeoDB,&Status);
if(Status == esriLicenseAvailable)
{
hr=pAoInitialzie->Initialize(esriLicenseProductCodeEngineGeoDB,&Status);
}
else
{
pAoInitialzie->IsProductCodeAvailable(esriLicenseProductCodeEngine,&Status);
if(Status == esriLicenseAvailable)
{
hr=pAoInitialzie->Initialize(esriLicenseProductCodeEngine,&Status);
}
}
if(Status != esriLicenseCheckedOut)
{
// AfxMessageBox("本机没有合适的ArcGIS授权,请与管理员联系!");
return FALSE;
}
}
CoInitialize(NULL);
{
CComPtr<IAoInitialize> pAoInitialzie;
esriLicenseStatus Status;
HRESULT hr;
//IAoInitializePtr ipInit(CLSID_AoInitialize);
hr=pAoInitialzie.CoCreateInstance(CLSID_AoInitialize);
// 如果不具有读写许可则,使用只读许可
pAoInitialzie->IsProductCodeAvailable(esriLicenseProductCodeEngineGeoDB,&Status);
if(Status == esriLicenseAvailable)
{
hr=pAoInitialzie->Initialize(esriLicenseProductCodeEngineGeoDB,&Status);
}
else
{
pAoInitialzie->IsProductCodeAvailable(esriLicenseProductCodeEngine,&Status);
if(Status == esriLicenseAvailable)
{
hr=pAoInitialzie->Initialize(esriLicenseProductCodeEngine,&Status);
}
}
if(Status != esriLicenseCheckedOut)
{
// AfxMessageBox("本机没有合适的ArcGIS授权,请与管理员联系!");
return FALSE;
}
}