/// <summary> /// Called immediately after a tool is executed by the GeoProcessor. /// </summary> /// <param name="Tool"></param> /// <param name="Values"></param> /// <param name="result"></param> /// <param name="Messages"></param> void IGeoProcessorEvents.PostToolExecute(IGPTool Tool, IArray Values, int result, IGPMessages Messages) { GPMessageEventArgs[] messages = new GPMessageEventArgs[Messages.Count]; IGPMessage gpMessage = null; for (int i = 0; i < Messages.Count; i++) { gpMessage = Messages.GetMessage(i); GPMessageEventArgs message = new GPMessageEventArgs(gpMessage.Description, gpMessage.Type, gpMessage.ErrorCode); messages[i] = message; } //create a new instance of GPPostToolExecuteEventArgs GPPostToolExecuteEventArgs e = new GPPostToolExecuteEventArgs(); e.DisplayName = Tool.DisplayName; e.Name = Tool.Name; e.PathName = Tool.PathName; e.Toolbox = Tool.Toolbox.Alias; e.ToolCategory = Tool.ToolCategory; e.ToolType = Tool.ToolType; e.Description = Tool.Description; e.Result = result; //fire the Post tool event if (null != GPPostToolExecute) { GPPostToolExecute(this, e); } }
//通过workspace获得tool toolbox的名称 tool的名称 private ESRI.ArcGIS.Geoprocessing.IGPTool GetGPtoolByName(string strToolboxPath, string strToolBoxName, string strToolName) { IWorkspaceFactory pToolWksFac = new ToolboxWorkspaceFactoryClass(); IToolboxWorkspace ptoolWks = pToolWksFac.OpenFromFile(strToolboxPath, 0) as IToolboxWorkspace; IGPToolbox pGPToolbox = ptoolWks.OpenToolbox(strToolBoxName); if (pGPToolbox == null) { return(null); } IGPTool pGPTool = pGPToolbox.OpenTool(strToolName); return(pGPTool); }
/// <summary> /// Called immediately prior to the GeoProcessor executing a tool. /// </summary> /// <param name="Tool"></param> /// <param name="Values"></param> /// <param name="processID"></param> void IGeoProcessorEvents.PreToolExecute(IGPTool Tool, IArray Values, int processID) { //create a new instance of GPPreToolExecuteEventArgs GPPreToolExecuteEventArgs e = new GPPreToolExecuteEventArgs(); e.DisplayName = Tool.DisplayName; e.Name = Tool.Name; e.PathName = Tool.PathName; e.Toolbox = Tool.Toolbox.Alias; e.ToolCategory = Tool.ToolCategory; e.ToolType = Tool.ToolType; e.Description = Tool.Description; e.ProcessID = processID; //fire the PreTool event if (null != GPPreToolExecute) { GPPreToolExecute(this, e); } }
public void PreToolExecute(IGPTool Tool, IArray Values, int processID) { this.m_IsPreExecute = true; }
public void PostToolExecute(IGPTool Tool, IArray Values, int result, IGPMessages Messages) { this.m_IsPostToolExecute = true; }
/// <summary> /// Called immediately prior to the GeoProcessor executing a tool. /// </summary> /// <param name="Tool"></param> /// <param name="Values"></param> /// <param name="processID"></param> void IGeoProcessorEvents.PreToolExecute(IGPTool Tool, IArray Values, int processID) { //create a new instance of GPPreToolExecuteEventArgs GPPreToolExecuteEventArgs e = new GPPreToolExecuteEventArgs(); e.DisplayName = Tool.DisplayName; e.Name = Tool.Name; e.PathName = Tool.PathName; e.Toolbox = Tool.Toolbox.Alias; e.ToolCategory = Tool.ToolCategory; e.ToolType = Tool.ToolType; e.Description = Tool.Description; e.ProcessID = processID; //fire the PreTool event if (null != GPPreToolExecute) GPPreToolExecute(this, e); }
/// <summary> /// Called immediately after a tool is executed by the GeoProcessor. /// </summary> /// <param name="Tool"></param> /// <param name="Values"></param> /// <param name="result"></param> /// <param name="Messages"></param> void IGeoProcessorEvents.PostToolExecute(IGPTool Tool, IArray Values, int result, IGPMessages Messages) { GPMessageEventArgs[] messages = new GPMessageEventArgs[Messages.Count]; IGPMessage gpMessage = null; for (int i = 0; i < Messages.Count; i++) { gpMessage = Messages.GetMessage(i); GPMessageEventArgs message = new GPMessageEventArgs(gpMessage.Description, gpMessage.Type, gpMessage.ErrorCode); messages[i] = message; } //create a new instance of GPPostToolExecuteEventArgs GPPostToolExecuteEventArgs e = new GPPostToolExecuteEventArgs(); e.DisplayName = Tool.DisplayName; e.Name = Tool.Name; e.PathName = Tool.PathName; e.Toolbox = Tool.Toolbox.Alias; e.ToolCategory = Tool.ToolCategory; e.ToolType = Tool.ToolType; e.Description = Tool.Description; e.Result = result; //fire the Post tool event if (null != GPPostToolExecute) GPPostToolExecute(this, e); }
public void PreToolExecute(IGPTool Tool, IArray Values, int processID) { }
public void PostToolExecute(IGPTool Tool, IArray Values, int result, IGPMessages Messages) { }