comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: GUI interface update issues
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: GUI interface update issues [message #44531 is a reply to message #44530] Tue, 21 June 2005 09:59 Go to previous messageGo to previous message
Benjamin Luethi is currently offline  Benjamin Luethi
Messages: 22
Registered: December 2004
Junior Member
Hi,

No clue what is causing this, but a simple workaround might be to introduce
a (very short) pause after you update the progress bar:

wait, 0.01

Hope this helps,
Ben

On Tue, 21 Jun 2005 18:23:39 +0200, Rick Towler
<rick.towler@nomail.noaa.gov> wrote:

> Hello group,
>
> I have an interesting problem with gui redraw on WinXP which maybe
> someone can shed some light on.
>
> I have an application that uses David's progress bar object. We have
> some potentially long calculation times and it is important to give a
> little feedback. It worked great until I added the ability to call a
> new calculation routine written in C as a dlm. If I run the application
> the old way (all functions written in IDL) the progress bar and GUI
> interface function normally. But if I run the application using the
> external routine eventually the GUI interface stops redrawing, the drop
> down menu text disappears, and the progress bar fails to update. The
> application runs and when calculations are finished it returns to normal
> (progress bar is destroyed and interface works as expected) but there is
> no feedback while running. A problem since the new calculations can
> take hours and hours and it is nice to see where it is in the process.
>
> The program is structured like so:
>
> ;-------------
> setup stuff
>
> for loop begin
>
> progressBar->update
>
> if (use_dlm) then begin
> myDLM_proc, param1, param2, OUT1=out1, OUT2=out2...
> endif else begin
> IDLbased_proc, param1, param2, OUT1=out1, OUT2=out2...
> endelse
>
> for loop begin
>
> if (use_dlm) then begin
> anotherDLM_proc, param1, param2, OUT1=out1,OUT2=out2...
> endif else begin
> anotherIDLbased_proc, param1, param2, OUT1=out1,OUT2=out2...
> endelse
>
> endfor
>
> endfor
> ;------------
>
> Actually a lot more is going on but you get the idea.
>
> And to elaborate on what I mean by "eventually the gui stops
> responding". If I start the application and run a short calculation (~2
> minutes) the first time the gui functions normally. But with every
> subsequent run the progress bar moves maybe 20% of the way then I lose
> the gui. If I close and restart the application the same thing happens,
> first one works, then problems). If I run a long calculation (hours)
> the progress bar never moves past the first tick (maybe 1%).
>
> Why does IDL stop updating the gui? Any ideas? While the functions in
> the dlm are compute intensive, they aren't particularly complicated and
> only rely on some simple macros in an .h file. Just a *lot* of looping
> over a moderate amount of data.
>
> -Rick



--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: MPFIT2DPEAK
Next Topic: Re: iSurface lighting questions

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 07:55:08 PDT 2025

Total time taken to generate the page: 0.88049 seconds