2015-01-15 2 views
0

사용자 지정 ArcGIS 모델을 실행해야하는 함수를 만들었습니다. ArcGIS 10.2에서 VB 2010을 사용합니다. 이 기능을 실행해야하는 버튼은 고정 가능한 창에 있습니다.Visual Basic으로 사용자 지정 ArcGIS 모델 실행

Dim model As Geoprocessor = New Geoprocessor() 
    model.AddToolbox("D:\Chris\Van Hall Larenstein\Ruimtelijke Informatie Technologie\RPS\RPS.tbx") 

    Dim parameters As ESRI.ArcGIS.esriSystem.IVariantArray = New ESRI.ArcGIS.esriSystem.VarArrayClass() 
    model.Execute("RPS_TEST", parameters, Nothing) 

VB 2010에서는 오류가보고되지 않지만 ArcGIS에서는 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

편집

이 그것을 할 수있는 방법이 아닌보다

Dim pToolHelper As IGPToolCommandHelper2 = New GPToolCommandHelper 

    'Set the tool you want to invoke. 
    Dim toolboxPath = "C:\Program Files\ArcGIS\Desktop10.2\ArcToolbox\Toolboxes\Analysis Tools.tbx" 
    pToolHelper.SetToolByName(toolboxPath, "Buffer") 

    'Create the messages object to pass to the InvokeModal method. 
    Dim msgs As IGPMessages 
    msgs = New GPMessages 

    'Invoke the tool. 
    pToolHelper.InvokeModal(0, Nothing, True, msgs) 
    My.ArcMap.Application.CurrentTool = Nothing 

크리스 Driessen

+0

코드가 정상적으로 보입니다. 모델에는 매개 변수가 필요하지 않습니다. –

+0

매개 변수가 필요합니다. 하지만 내 코드에서 매개 변수를 선언하고 싶지 않습니다. ArcGIS (참조 shapefile 및 fieldnames)에서 선언되어야합니다. –

답변

0

당신이 사용자가 원하는 경우 매개 변수를 정의합니다. 코드가 즉시 매개 변수없이 모델을 실행합니다.

지리 정보 도구 대화 상자를 여는 방법에 대한 링크 this을 참조하십시오.

+0

버퍼 도구에서는 작동하지 않으며 사용자 지정 모델에서는 작동하지 않습니다. VB에서 오류가 발생하지 않지만 ArcGIS에서 오류가 발생했습니다. 오류 HRESULT E_FAIL이 COM 구성 요소 호출에서 반환되었습니다. –

+0

모든 도구에서 작동합니다. 뭔가 잘못하고 있어야합니다. 코드를 게시 할 수 있습니까? –

+0

뚜렷한 질문보기; Arcobjects에서 코드를 복사했습니다. 하지만이 코드는 VB 10 및 ArcGIS 10.2에서 호환되지 않습니다. –

관련 문제