progressbar update problem [message #68381] |
Thu, 29 October 2009 02:48  |
lbusett@yahoo.it
Messages: 30 Registered: February 2006
|
Member |
|
|
Hi all,
I'm using David Fanning's progressbar procedure to show the
advancement of a time-consuming routine, but I have a problem. The
progressbar works ok, but since each cycle of the operation that I'm
conducting take a couple of minutes to complete I have some problems
in the "updating" of the window. The window infact upates itself only
at the end of each cycle, and if I open a window "over" the progress
bar and then close it then the progress bar window appears "blank"
until the start of the next cycle. Moreover, and this is the worst
problem, the "cancel" button of the progress bar does not work. I
believe this is because IDL is busy at making "other things", and the
program isn't able to catch the button press events.
Does anyone know if there is a way to overcome this problem ?
Thanks in advance for the help,
Lorenzo
|
|
|
Re: progressbar update problem [message #68553 is a reply to message #68381] |
Tue, 03 November 2009 05:57  |
lbusett@yahoo.it
Messages: 30 Registered: February 2006
|
Member |
|
|
On 2 Nov, 23:36, Andrew Cool <andrew.c...@dsto.defence.gov.au> wrote:
> On Oct 30, 3:02 am, "lbus...@yahoo.it" <lbus...@yahoo.it> wrote:
>
>
>
>> Hi David,
>
>> thanks for your suggestion ! I took a look at the IDL_IDLBRIDGE,
>> and it seemed promising.
>> However, while reading the documentation and some posts in the
>> newsgroup I found out that the Bridge can not be used in the virtual
>> machine, since the EXECUTE method doesn't work.
>
>> Since I plan to share the application with the VM, I then think that I
>> can not use this solution.
>
>> Any other ideas ?
>
>> Lorenzo
>
>>> I wonder if the IDL Bridge would help in this situation?
>>> (IDL_IDLBridge object). The idea would be to run the progress
>>> bar in a separate IDL process. I really have no idea if you
>>> could communicate with the ProgressBar object over the bridge
>>> in this way. But since it would be running in a separate IDL
>>> process, it might solve the "update" problem. On the other
>>> hand, it might also cause a world of problems on its own, so...
>
>>> Cheers,
>
>>> David
>
>>> --
>>> David Fanning, Ph.D.
>>> Fanning Software Consulting, Inc.
>>> Coyote's Guide to IDL Programming:http://www.dfanning.com/
>>> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
>
> Lorenzo,
>
> You do not need the IDL VM to distribute a fully functional IDL app to
> people who do not have IDL licences - indeed who have never even heard
> of IDL.
>
> Search the IDL Help for "Distributing IDL Applications".
>
> All you reaelly need to do is create a SAVE file of your app, and then
> bundle
> up the essential IDL routines.
>
> By way of example, see Michael Theusner's AviStack program atwww.avistack.de,
> which is available as a 20MB zip file, containing the AviStack program
> as an IDL Save file, and just the necessary subset of IDL routines to
> enable AviStack to run,
> and the IDL runtime executable.
>
> You can even distribute your program on autostart CD's in this
> fashion.
>
> All totally legitimate, all explained within IDL's Help files.
>
> This might not actually solve your Progress Bar problem, but may
> reduce your
> dependence on the IDL VM.
>
> Regards,
>
> Andrew Cool
>
> http://www.skippysky.com.au/
Hi Andrew,
thanks for your suggestion.
However, as far as I understand in order to distribute an IDL
application in the way that you suggest I have to use the "MAKE_RT"
procedure to build a "runtime application". By searching on the web I
found out that "Runtime applications are just a way of packing a
compiled program (the sav file) and the virtual machine together, so
that the person to use your program does not have to download and
install the virtual machine". As far as I understand, runtime
applications should therefore have the same limitations of SAV files
"shared" with the VM (i.e., no execute method on the IDL_IDLBRIDGE).
Am I correct ? Did anyone try to build a runtime application which
involved the use of the IDL_IDL bridge ?
Lorenzo
|
|
|