status |= instance.AddArrayElements(CCParams::LRPropertyName(), 1); wprintf(L"status good? %s \n", status == SUCCESS ? L"good" : L"failed"); --> 成功 DgnECInstanceEnablerP enablerSubData = dgnECManager.ObtainInstanceEnablerByName(WW_SCHEMA, CCParams::ECSubClassName(), *dgnFile); StandaloneECInstancePtr propertyInstance = enablerSubData->GetPrivateWipInstance(); status |= RConfig.toInstance(*propertyInstance); wprintf(L"status good? %s \n", status == SUCCESS ? L"good" : L"failed");--> 成功 ECValue structValue; status |= structValue.SetStruct(propertyInstance->GetAsIECInstanceP()); wprintf(L"status good? %s \n", status == SUCCESS ? L"good" : L"failed");--> 成功 status |= instance.SetValue(CCParams::LRPropertyName(), structValue, index++); wprintf(L"status good? %s \n", status == SUCCESS ? L"good" : L"failed");--> 失败
您使用的MSCE版本太老了,还停留在U8,请升级到最新版U16测试一下。另外,在新版的SDK中带有EC例子如下:
C:\Program Files\Bentley\MicroStationCONNECTSDK\examples\DgnEC\PropertyTypesExample\NativeExample
MS学习资源:
MicroStation Wednesday视频分享
深入探讨MicroStation DGN基本概念系列
一步步学习MicroStation CE Addin开发
一步步学习MicroStation CE MDL开发
相同的代码,同样的XML结构,其他都可以写入成功,唯独这个新添构件不行。
那就需要您提供相关的内容了。比如您这个XML结构的定义,含有其他的和这个构件的DGN文件等。