Więcej

Vb.net arcobjects - pokaż nazwę pola

Vb.net arcobjects - pokaż nazwę pola


Staram się pokazać nazwy pól (aliasy) klasy elementów. Znalazłem fragment kodu, ale nie udało mi się go uruchomić :( Czy ktoś może mi powiedzieć, co jest nie tak w kodzie? (System: Arcgis 10.2, Visual Studio2012)

Importy ESRI.ArcGIS.esriSystem Importy ESRI.ArcGIS.Carto Importy ESRI.ArcGIS.ArcMapUI Importy ESRI.ArcGIS.Geodatabase Public Class FieldNameButton Dziedziczy ESRI.ArcGIS.Desktop.AddIns.Button Public Sub New() End Sub Protected Overrides() Sub OnC ShowDistinctFieldAliasNames(My.ArcMap.Document) End Sub Shared Sub ShowDistinctFieldAliasNames(ByVal featureClass As IFeatureClass) ' Pobierz kolekcję Fields z klasy obiektów. Dim pola As IFields = featureClass.Fields Dim pole As IField = Nothing ' W przypadku indeksu liczonego od zera wykonaj iterację pól w kolekcji. For i As Integer = 0 To fields.FieldCount - 1 ' Pobierz pole o podanym indeksie. field = fields.Field(i) If field.Name <> field.AliasName Then Console.WriteLine("{0} : {1}", field.Name, field.AliasName) MsgBox(field.AliasName) End If Next i My.ArcMap.Application.CurrentTool = Nic nie kończy Sub Protected Override Sub OnUpdate() Enabled = My.ArcMap.Application nie ma nic End Sub Private Sub DisplayDistinctFieldAliasNames() Rzuć nową NotImplementedException End Sub End Class

Twoja funkcja oczekuje klasy funkcji

Shared Sub ShowDistinctFieldAliasNames (ByVal featureClass As IFeatureClass)

ale przekazujesz dokument

ShowDistinctFieldAliasNames(My.ArcMap.Document)

Aby przekazać klasę obiektów, musisz znaleźć warstwę w tym dokumencie i sprawdzić, czy jest to klasa obiektów. Coś takiego:

dim pLayer As ESRI.ArcGIS.Carto.ILayer dim pFLayer As ESRI.ArcGIS.Carto.IFeatureLayer pLayer= My.ArcMap.Document.FocusMap.Layer(0) if TypeOf pLayer Is ESRI.ArcGIS.Carto. (pFLayer.FeatureClass) koniec, jeśli

Jeśli kiedykolwiek wystąpi przypadek, w którym ArcMap ulega awarii z błędem aplikacji, użyj opcji Try… Przechwyć bloki w kodzie, aby dowiedzieć się, na czym polega problem.


Obejrzyj wideo: 28 Interface In VB Net