Hi, looking at the samples I have the following code which works great. However the moment I run
gpResult = await Geoprocessing.ExecuteToolAsync("ChangeVersion_management", parameters) before or after the initialization of ProgressDialog, the message doesn't get updated.
<SPAN class="comment token">//Run the line below and ProgressDialog no longer works.</SPAN>
gpResult <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> Geoprocessing<SPAN class="punctuation token">.</SPAN><SPAN class="token function">ExecuteToolAsync</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"ChangeVersion_management"</SPAN><SPAN class="punctuation token">,</SPAN> parameters<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">uint</SPAN> maxSteps <SPAN class="operator token">=</SPAN> <SPAN class="number token">10</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> pd <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ArcGIS<SPAN class="punctuation token">.</SPAN>Desktop<SPAN class="punctuation token">.</SPAN>Framework<SPAN class="punctuation token">.</SPAN>Threading<SPAN class="punctuation token">.</SPAN>Tasks<SPAN class="punctuation token">.</SPAN>ProgressDialog</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Running SPU"</SPAN><SPAN class="punctuation token">,</SPAN> maxSteps<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">false</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
ProgressorSource cps <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ProgressorSource</SPAN><SPAN class="punctuation token">(</SPAN>pd<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Max <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">uint</SPAN><SPAN class="punctuation token">)</SPAN>maxSteps<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">await</SPAN> QueuedTask<SPAN class="punctuation token">.</SPAN><SPAN class="token function">Run</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">=</SPAN><SPAN class="operator token">></SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="comment token">//check every second</SPAN>
<SPAN class="keyword token">for</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">int</SPAN> i <SPAN class="operator token">=</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">;</SPAN> i <SPAN class="operator token"><</SPAN> <SPAN class="number token">10</SPAN><SPAN class="punctuation token">;</SPAN> i<SPAN class="operator token">++</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Value <SPAN class="operator token">+</SPAN><SPAN class="operator token">=</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">;</SPAN>
cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Status <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">(</SPAN>cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Value <SPAN class="operator token">*</SPAN> <SPAN class="number token">100</SPAN> <SPAN class="operator token">/</SPAN> cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Max<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">@" % Completed"</SPAN><SPAN class="punctuation token">;</SPAN>
cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Message <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Message "</SPAN> <SPAN class="operator token">+</SPAN> cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Value<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>System<SPAN class="punctuation token">.</SPAN>Diagnostics<SPAN class="punctuation token">.</SPAN>Debugger<SPAN class="punctuation token">.</SPAN>IsAttached<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
System<SPAN class="punctuation token">.</SPAN>Diagnostics<SPAN class="punctuation token">.</SPAN>Debug<SPAN class="punctuation token">.</SPAN><SPAN class="token function">WriteLine</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">string</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">Format</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"RunCancelableProgress Loop{0}"</SPAN><SPAN class="punctuation token">,</SPAN> cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Value<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">//block the CIM for a second</SPAN>
Task<SPAN class="punctuation token">.</SPAN><SPAN class="token function">Delay</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">1000</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">Wait</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">//are we done?</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Value <SPAN class="operator token">==</SPAN> cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">.</SPAN>Max<SPAN class="punctuation token">)</SPAN> <SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN> cps<SPAN class="punctuation token">.</SPAN>Progressor<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Note, i am NOT after having the dialog or cancellation progress dialog running with the GP. I just need to run the GP and then after the GP have completed, show the progress dialog for some other tasks.
Thank you in advance.