Christie72
路人甲
路人甲
  • 注册日期2004-07-22
  • 发帖数92
  • QQ
  • 铜币423枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1881回复:3

添加字段时,IFieldEdit为只读?

楼主#
更多 发布于:2006-05-18 13:59
<P>在一个FeatureClass 中新增一个字段(Field)时,出错,错误为IFieldEdit是只读,</P>
<P>请教高手该如何解决?</P>
<P> Dim pField As IField<p></p></P>
<P  align=left>        Dim pFieldEdit As IFieldEdit<p></p></P>
<P  align=left>        On Error GoTo ErrorHandler<p></p></P>
<P  align=left>        AddField = False<p></p></P>
<P  align=left>        If (pFeatureClass Is Nothing) Then<p></p></P>
<P  align=left>            Exit Function<p></p></P>
<P  align=left>        End If<p></p></P>
<P  align=left>        pField = New Field<p></p></P>
<P  align=left> <p></p></P>
<P  align=left>        pFieldEdit = pField<p></p></P>
<P  align=left>        With pFieldEdit<p></p></P>
<P  align=left>          <B>  <U>.Length = 10             error<p></p></U></B></P>
<P  align=left><B><U>            .Name = "NewField"      error<p></p></U></B></P>
<P  align=left><B><U>            .Type = esriFieldTypeString  error</U></B><U><p></p></U></P>
<P  align=left>        End With<p></p></P>
<P  align=left>        pFeatureClass.AddField(pField)<p></p></P>
<P  align=left>        MsgBox("已添加新字段:" ; " " ; pField.Name)<p></p></P>
<P  align=left>        AddField = True<p></p></P>
<P  align=left>        Exit Function<p></p></P>
<P  align=left>ErrorHandler:<p></p></P>
<P >        MsgBox(Err.Description)</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2006-05-18 20:08
<P>添加前开始编辑了吗?</P>
举报 回复(0) 喜欢(0)     评分
Christie72
路人甲
路人甲
  • 注册日期2004-07-22
  • 发帖数92
  • QQ
  • 铜币423枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-05-19 08:43
<P>图层在ARCMAP 中可以添加字段。</P>
<P>代码中可以修改纪录,应该是“开始编辑”状态,请问帝国总统在代码中如何“停止编辑”?</P><img src="images/post/smile/dvbbs/em05.gif" />
举报 回复(0) 喜欢(0)     评分
Christie72
路人甲
路人甲
  • 注册日期2004-07-22
  • 发帖数92
  • QQ
  • 铜币423枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2006-05-19 11:38
<P>在一个FeatureClass 中新增一个字段(Field)时,出错,错误为IFieldEdit的</P>
<P>属性:length,name等是只读的,请教高手该如何解决?</P>
<P>Dim pField As IField
<br>
<p>
<P align=left>        Dim pFieldEdit As IFieldEdit
<p>
<p>
<P align=left>        On Error GoTo ErrorHandler
<p>
<p>
<P align=left>        AddField = False
<p>
<p>
<P align=left>        If (pFeatureClass Is Nothing) Then
<p>
<p>
<P align=left>            Exit Function
<p>
<p>
<P align=left>        End If
<p>
<p>
<P align=left>        pField = New Field
<p>
<p>
<P align=left>
<p>
<p>
<P align=left>        pFieldEdit = pField
<p>
<p>
<P align=left>        With pFieldEdit
<p>
<p>
<P align=left>          <B>  <U>.Length = 10          ' error,属性Length为“readonly”
<p></U></B>
<p>
<P align=left><B><U>            .Name = "NewField"      'error属性Name为“readonly”
<p></U></B>
<p>
<P align=left><B><U>            .Type = esriFieldTypeString  'error</U></B><U>
<p></U>
<p>
<P align=left>        End With
<p>
<p>
<P align=left>        pFeatureClass.AddField(pField)
<p>
<p>
<P align=left>        MsgBox("已添加新字段:" ; " " ; pField.Name)
<p>
<p>
<P align=left>        AddField = True
<p>
<p>
<P align=left>        Exit Function
<p>
<p>
<P align=left>ErrorHandler:
<p>
<p>
<P>        MsgBox(Err.Description)</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部