Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: Having issues with block and release...
Topic Summary:
Created On: 25-Oct-2007 22:08
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
Answer This question was answered by Louie Landale, on Friday, October 26, 2007 1:39 PM

Answer:
Did a test and found that when you issue 'release', you get two DXL threads; one continues after the 'release' and the other picks up after the 'block'. I found that VERY curious. Anyway, two DXL threads are dangerous and should be avoided; therefore putting 'release' at the end of the function sounds like a good idea.

I think that when you 'release', you automatically close the dialog. Therefore, trying to 'destroy' it afterwards may cause problems.

At the bottom, I don't think you want to call 'closeDialog' when in fact you never blocked the dialog, since the 'release' command inside that function is likely to get very confused. I'd just 'destroy(win)' at that point and be done with it. Either that or move your '!isRead' line to the top of that function, and don't bother defining the dialog unless you intend to block it.

Try the attached ditty. Notice when you push the 'applyClose' button you get two ACKs, but it you 'close' you only get one.

- Louie
 25-Oct-2007 22:08
User is offline View Users Profile Print this message


Scott Boisvert

Posts: 348
Joined: 14-Apr-2006

I've got the attached script which basically enters a Change Request number in all objects that have been modified during that particular session when the user saves the module.  That part of the script works......

I'm having an issue with trying to implement the block function for the dialog box though.  When I use the block, usually about 95% of the block is never released, but the dialog box is destroyed.  Problem is, all the DOORS windows are now desensatized and I have to kill DOORS through the Task Manager.

I've gone over the script a bunch of times, am I missing a place where I need to put the release function?  Or is it just in the wrong place?

Thanks for y'alls help.



-------------------------
Scott Boisvert
Engineering Tools Administrator
L-3 Communications - Avionics Systems
scott.boisvert@l-3com.com
Report this to a Moderator Report this to a Moderator
 25-Oct-2007 22:39
User is offline View Users Profile Print this message


Louie Landale

Posts: 2070
Joined: 12-Sep-2002

Answer Answer
Did a test and found that when you issue 'release', you get two DXL threads; one continues after the 'release' and the other picks up after the 'block'. I found that VERY curious. Anyway, two DXL threads are dangerous and should be avoided; therefore putting 'release' at the end of the function sounds like a good idea.

I think that when you 'release', you automatically close the dialog. Therefore, trying to 'destroy' it afterwards may cause problems.

At the bottom, I don't think you want to call 'closeDialog' when in fact you never blocked the dialog, since the 'release' command inside that function is likely to get very confused. I'd just 'destroy(win)' at that point and be done with it. Either that or move your '!isRead' line to the top of that function, and don't bother defining the dialog unless you intend to block it.

Try the attached ditty. Notice when you push the 'applyClose' button you get two ACKs, but it you 'close' you only get one.

- Louie
Report this to a Moderator Report this to a Moderator
 26-Oct-2007 13:21
User is offline View Users Profile Print this message


David Pechacek

Posts: 674
Joined: 5-Dec-2006

When using block/release, I have always written my programs to not do anything after the call to release since, from the DXL manual description, I thought once the call to release was made, the program jumped back to the block call and continued execution, like a return. So I call destroy right after block.

Seems to have worked well for me so far.

-------------------------
David Pechacek
AAI Services Textron
dpechacek@sc-aaicorp.com
David.Pechacek@gmail.com
Report this to a Moderator Report this to a Moderator
 26-Oct-2007 13:41
User is offline View Users Profile Print this message


Scott Boisvert

Posts: 348
Joined: 14-Apr-2006

Thanks Louie and Dave, that did the trick.

I think I have to go look at another script I used block in.  Haven't had issues with it yet, but need I think I destroyed the box after the release in that one too.



-------------------------
Scott Boisvert
Engineering Tools Administrator
L-3 Communications - Avionics Systems
scott.boisvert@l-3com.com
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 2 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 2 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.