<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Get results from programmatically-launched geoprocessing tool in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464206#M12582</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So earlier I figured out how to launch a geoprocessing tool's dialog box from a .NET add-in:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;IGPToolCommandHelper cmdHelper = new GPToolCommandHelperClass();
cmdHelper.SetToolByName("MyToolbox.tbx", "MyToolName");
cmdHelper.Invoke(null);&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since then I've tried to use .InvokeModal to retrieve gp messages:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;bool ok = true;
ESRI.ArcGIS.Geodatabase.IGPMessages msgs;
msgs = new ESRI.ArcGIS.Geodatabase.GPMessagesClass();
cmdHelper.InvokeModal(0, null, out ok, out msgs);&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But the msgs object always returns null.&amp;nbsp; What I want is essentially the output that appears in the geoprocessing window while the tool is running.&amp;nbsp; Any ideas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Evan.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 May 2014 21:05:42 GMT</pubDate>
    <dc:creator>EvanBlaisdell</dc:creator>
    <dc:date>2014-05-22T21:05:42Z</dc:date>
    <item>
      <title>Get results from programmatically-launched geoprocessing tool</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464206#M12582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So earlier I figured out how to launch a geoprocessing tool's dialog box from a .NET add-in:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;IGPToolCommandHelper cmdHelper = new GPToolCommandHelperClass();
cmdHelper.SetToolByName("MyToolbox.tbx", "MyToolName");
cmdHelper.Invoke(null);&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since then I've tried to use .InvokeModal to retrieve gp messages:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;bool ok = true;
ESRI.ArcGIS.Geodatabase.IGPMessages msgs;
msgs = new ESRI.ArcGIS.Geodatabase.GPMessagesClass();
cmdHelper.InvokeModal(0, null, out ok, out msgs);&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But the msgs object always returns null.&amp;nbsp; What I want is essentially the output that appears in the geoprocessing window while the tool is running.&amp;nbsp; Any ideas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Evan.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2014 21:05:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464206#M12582</guid>
      <dc:creator>EvanBlaisdell</dc:creator>
      <dc:date>2014-05-22T21:05:42Z</dc:date>
    </item>
    <item>
      <title>Re: Get results from programmatically-launched geoprocessing tool</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464207#M12583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Evan,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I just tried to replicate your problem in VBA and it returns Nothing, which leads me to think you have discovered a bug.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I thought the approached discussed &lt;/SPAN&gt;&lt;A href="http://forums.esri.com/Thread.asp?c=93&amp;amp;f=992&amp;amp;t=303263&amp;amp;mc=2#msgid948709"&gt;here&lt;/A&gt;&lt;SPAN&gt; may work but that returns Nothing to. I reckon ESRI have broken this interface as this thread I link to has no discussion about the Messages object. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Duncan&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 09:48:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464207#M12583</guid>
      <dc:creator>DuncanHornby</dc:creator>
      <dc:date>2014-05-23T09:48:11Z</dc:date>
    </item>
    <item>
      <title>Re: Get results from programmatically-launched geoprocessing tool</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464208#M12584</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Evan,&lt;BR /&gt;&lt;BR /&gt;I just tried to replicate your problem in VBA and it returns Nothing, which leads me to think you have discovered a bug.&lt;BR /&gt;&lt;BR /&gt;I thought the approached discussed &lt;A href="http://forums.esri.com/Thread.asp?c=93&amp;amp;f=992&amp;amp;t=303263&amp;amp;mc=2#msgid948709" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt; may work but that returns Nothing to. I reckon ESRI have broken this interface as this thread I link to has no discussion about the Messages object. &lt;BR /&gt;&lt;BR /&gt;Duncan&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for investigating Duncan.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've come up with a bit of a workaround for my purposes.&amp;nbsp; Get a reference to the Geoprocessor and add a MessagesCreated event handler:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;GP = new Geoprocessor();
GP.MessagesCreated += new EventHandler&amp;lt;MessagesCreatedEventArgs&amp;gt;(GP_MessagesCreated);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A rough event handler, just to prove it works and display each message as it's created, looks like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;void GP_MessagesCreated(object sender, MessagesCreatedEventArgs e)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGPMessages msgs = e.GPMessages;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IGPMessage msg = msgs.GetMessage(msgs.Count - 1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(msg.Description);
}&lt;/PRE&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(And of course unwire the event handler afterward.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Evan.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:37:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/get-results-from-programmatically-launched/m-p/464208#M12584</guid>
      <dc:creator>EvanBlaisdell</dc:creator>
      <dc:date>2021-12-11T20:37:14Z</dc:date>
    </item>
  </channel>
</rss>

