![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Common DXL bug Topic Summary: Created On: 24-Jun-2003 16:15 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
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 |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Common DXL bug
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.