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: Common DXL bug
Topic Summary:
Created On: 24-Jun-2003 16:15
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.
 24-Jun-2003 16:15
User is offline View Users Profile Print this message


Louie Landale

Posts: 2070
Joined: 12-Sep-2002

I've encountered the following bug in my own code and in several other's code, so I thought I'd share it with you.

When you open a module it changes the "current" module to the newly opened module:
....Module m = read("My Module", true)
will cause "m" to become current. However, "m" does NOT become current if "My Module" was already open, such as may happen the 2nd time you run the script. If after this "read" statement you issue some sort of "AttrExists = exists("My Attr")" command, you may be checking the wrong module for whether it exists. Also, "for obj in (current module) do" statments may not be as expected.

The solution is to have a DXL function that opens the module and insures the current module does not change:

Module OpenForRead(string NameMod)
{ Module mCurr = current
Module mod = read(NameMod, true)
if (!null mCurr) current = mCurr // restores the 'current' module
return(mod)
}

Althernatively, always set the opened module as current with the following one line change:
if (!null mod) current = mod

- Louie
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 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 1 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.