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

Home » Public Forums » archive » testing IDL_IDLBridge status
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: testing IDL_IDLBridge status [message #92245 is a reply to message #92242] Thu, 05 November 2015 05:32 Go to previous messageGo to previous message
markb77 is currently offline  markb77
Messages: 217
Registered: July 2006
Senior Member
After further investigation, it seems that there is really no way to do this. When the application object is busy, even though the status of the bridge object remains 0 or 2 (Idle or Command completed), the bridge object will not respond to the Execute method. I need to use Execute in order to query the status of the application.

For example: (pseudocode)

--------------------------------

my_bridge = obj_new('IDL_IDLBridge')

cmd = 'my_app = obj_new(''my_application'')'
my_bridge -> Execute, cmd

test_quit = 0

while test_quit eq 0 do begin

cmd = 'test_app_closed = ~obj_valid(my_app)'
my_bridge -> Execute, cmd

test_app_closed = my_bridge -> GetVar('test_app_closed')

if test_app_closed eq 1 then begin

obj_destroy, my_bridge
test_quite = 1

endif

endwhile

-------------------------------

This doesn't work, because when the application is busy, the program gets stuck at the Execute statement. If this program is running in the main IDL process and gets stuck, then I can't do anything else in IDL while I'm waiting for the application to finish its task.

If I use the NOWAIT keyword to Execute, and specify a callback procedure etc., it makes no difference. The program still gets stuck at the Execute statement.

The "STATUS" property of the bridge is constantly reporting either 0 or 2 (IDLE or COMMAND COMPLETE) throughout this process. Even though the application is busy and is effectively blocking the bridge from doing any other processing, the status reports 0 or 2. Effectively, it is impossible for my program to query the bridge without getting hung up!

Therefore, it seems there is no way for my to automatically kill the IDL bridge processes when the application objects are closed. Unless, there is a way for the application object to kill the IDL bridge process on its own, from within IDL?

ideas?
thanks
Mark
[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: Dates conversions
Next Topic: memory leak in volume()

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

Current Time: Wed Oct 08 13:59:38 PDT 2025

Total time taken to generate the page: 0.00207 seconds