阅读:2081回复:1
如何将这段代码从VB6改编到VB。NET下运行?
<P>这是VB6的代码:</P>
<P> Dim pEnumVar As esriSystem.IEnumVariantSimple, value As Variant<BR> Set pEnumVar = pData.UniqueValues<BR> value = pEnumVar.Next<BR> Do Until IsEmpty(value)<BR> Debug.Print "value - " ; value<BR> value = pEnumVar.Next<BR> Loop</P> <P>在。NET中已经没有了Variant数据类型,已经用Object取代了,我将上面的代码改成了。NET下的代码,可就是运行不通过,麻烦各位帮我看一下,</P> <P> pCursor = _pFeatLyr.Search(Nothing, False)<BR> pDataStas = New DataStatistics<BR> pDataStas.Field = lstFld.SelectedItem.ToString<BR> pDataStas.Cursor = pCursor<BR> pEnumVar = pDataStas.UniqueValues ‘-----VB.NET2005总提示问题出在这儿<BR> pEnumVar.Reset()<BR> pValue = pEnumVar.Next<BR> Do While Not pValue Is Nothing<BR> If pField.Type = esriFieldType.esriFieldTypeString Then<BR> lstUniqueValue.Items.Add("'" ; pValue ; "'")<BR> Else<BR> lstUniqueValue.Items.Add(pValue)<BR> End If<BR> pValue = pEnumVar.Next<BR> Loop<BR>麻烦各位帮我看一下,该怎么改成。NET下的代码,谢谢</P> |
|
|
1楼#
发布于:2006-04-04 16:54
esriSystem.IEnumVariantSimple这个类与net的类冲突,直接用net的枚举类,这个问题你到esri北京看看,不过那个代码有问题,主要要用pEnumVar.Reset()方法先重排一下
|
|
|