<div dir="ltr"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;">
<div>Including the list - please use ReplyAll.</div></div></div></blockquote><div><br>Sorry. Pressed the wrong button.<br>&nbsp;<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div><br><br></div><div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">
<div dir="ltr"><div class="gmail_quote"><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Its the file that you want to scan - assuming there is a file.<br>

It could be a list or anything else - I don&#39;t actually know from<br>
your code what onScan is supposed to do! :-)</blockquote></div><div><div class="Ih2E3d"><br>&gt; Well, My code is supposed to do a lot. My actual onScan looks like this:<br><br></div>&nbsp;&nbsp;&nbsp; def OnScan(self, event):<div class="Ih2E3d">
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; startScan = &#39;&#39;&#39;TSO will now start creating a log.<br>Please be patient as this can take from 5 up to 10 minutes.<br>Please press OK to start TSO.&#39;&#39;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlg2 = wx.MessageDialog(self, startScan, &#39;Starting TSO.&#39;, wx.OK|wx.ICON_INFORMATION)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlg2.ShowModal()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlg2.Destroy()<br><br></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scan()<div class="Ih2E3d"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlg = wx.MessageDialog(self, &#39;The log is done.\n Press OK to return to TSO.&#39;, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;Done Creating Log.&#39;,&nbsp;&nbsp;&nbsp; wx.OK|wx.ICON_INFORMATION)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlg.ShowModal()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dlg.Destroy()<br><br>&gt; the part that calls for the features in TSO (scan()) is simply defined later in the program <br>&gt; (out of the class I might add). Is this a
 problem for the gauge bar?<br><br></div>Possibly. For the guage to display progress it needs a way to get the intermediate <br>progress. If the scan() function updates some global variable or has a hook function <br>to call for periodic update then all is well. But if it is a single monolithic bit of code <br>
there is very little you can do. </div></div></div></div></div></div></div></blockquote><div><br>Not sure what you mean. My code calls different built in functions from windows. (Like Ipconfig, ping etc.)<br>The only thing I do is call them from python, make sure that the format is right and write it to a file. (called temp.txt)<br>
Once temp.txt is complete it goes through a script which makes the text &#39;cross platform&#39; so it shows &#39;nice&#39; on forums.<br><br>I&#39;ll make a little attempt to this. Not sure how it will go.<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">
<div dir="ltr"><div class="gmail_quote"><div><br><br>Given the scan() function is external to the GUI - as it should be - then I&#39;d probably <br>opt for running scan() inside a thread and using a non-modal dialog to indicate that <br>
the scan is running - maybe with a simple timer display to show that its still running. <br>Then at the end of the scam either just delete the dialog or bring it to the top to make <br>the user delete it - thus seeing that the scan is complete. By making it non-modal <br>
the user can carry on using the GUI while scanning.</div></div></div></div></div></div></div></blockquote><div><br>Yes the scan() functions are external to the GUI. I simply made the code first and the GUI later.<br>&nbsp;</div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;">
<div style="font-family: Courier New,courier,monaco,monospace,sans-serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div dir="ltr"><div class="gmail_quote"><div><div class="Ih2E3d">
<br>&nbsp;&gt; (Let me know if you need to know the complete scan() code as well.<br></div>Probably not since I&#39;m
 guessing it is basically a single loop with no breakouts <br>or callback hooks.</div></div></div></div></div></div></div></blockquote><div><br>
I&#39;ll take your word for that. ;) <br>
</div></div><br></div>