|
阅读:2023回复:6
请问ArcEngine编辑问题
<P>我采用MapControl开发程序。其中编辑上遇到问题:</P>
<P>1、编辑Shape文件正常。</P> <P>2、编辑SDE数据库里面的图层,有的图层正常,而有的图层无法编辑。无法编辑的图层,似乎与版本注册不注册没有什么关系。</P> <P>代码如下:</P> <P>IFeaturePtr ipFeature;<BR> result = ipFClass->CreateFeature(;ipFeature);<BR> if (FAILED(result) || NULL == ipFeature)<BR> return;</P> <P> result = ipFeature->putref_Shape(shape); // 该行代码对于有的SDE图层无法正确执行<BR> if (SUCCEEDED(result)) {<BR> result = ipFeature->Store();<BR> if (FAILED(result))<BR> NULL;<BR> } </P> <P>请各位指点指点!</P> |
|
|
|
1楼#
发布于:2006-07-26 10:15
<P>另外,我换用下面的编辑方式,也是不行:</P>
<P>IFeatureClassPtr ipFClass;<BR> result = ipFLayer->get_FeatureClass(;ipFClass);</P> <P> IFeatureBufferPtr ipFBuffer;<BR> IFeatureCursorPtr ipFCursor;<BR> CComVariant id;</P> <P> ipFClass->Insert(VARIANT_TRUE, ;ipFCursor);<BR> ipFClass->CreateFeatureBuffer(;ipFBuffer);</P> <P> ipFBuffer->putref_Shape(shape);<BR> ipFCursor->InsertFeature(ipFBuffer, ;id);<BR> ipFCursor->Flush();</P> |
|
|
|
2楼#
发布于:2006-07-26 14:40
经过琢磨,我自己找到原因了,原来是图层的Z值问题。
|
|
|
|
3楼#
发布于:2006-07-26 15:12
原因是找到了,可是无法找到解决办法。请问各位,为什么上述代码无法写具有Z值的图层? 需要怎么样做才能正确写呢?
|
|
|
|
4楼#
发布于:2006-07-26 16:04
<P>自己解决了。一行代码而已(可是很费劲啊,实在得来不容易的):</P>
<P>((IZAwarePtr)point)->put_ZAware(VARIANT_TRUE);</P> |
|
|
|
5楼#
发布于:2006-07-27 16:03
嘻嘻,还要靠自己,y
|
|
|
|
6楼#
发布于:2008-03-11 15:07
学习.........
|
|