![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Question on Objects in a Skip List Topic Summary: Created On: 1-May-2007 14:24 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() Answer: I tried this and yes, the object handles remain valid after the module has been closed and re-opened. | |
![]() |
|
If I open a module in read only, load all the objects of that module into a skip list, and close the module, will the object references in the skip list still be valid? I realize I won't be able to modify or extract information from them until I reopen the module(if I'm wrong here thats great and let me know).
But I just want to know if I can store the objects in the skip list and close the module without corrupting (per say) my references to the objects. My plan is to open the module build the skip list, put a unique attribute from each object into a list DBE, and then close it. Then later, reopen the module, find the object in the skip list and modify it. If I can do this, I won't have to rebuild the list after I reopen the module each time. ------------------------- David Pechacek AAI Services Textron dpechacek@sc-aaicorp.com David.Pechacek@gmail.com |
|
![]() |
|
![]() |
|
I tried this and yes, the object handles remain valid after the module has been closed and re-opened.
------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
Thanks tony.
------------------------- David Pechacek AAI Services Textron dpechacek@sc-aaicorp.com David.Pechacek@gmail.com |
|
![]() |
|
![]() |
|
Just a friendly cautionary note...
This works because DOORs does not take out the trash at module closing. I would be reticent to base anything important on this as they may (one day) decide to do some form of garbage collection in the future and Skip lists would be a likely place for them to start. Dan |
|
![]() |
|
![]() |
|
I think the issue is whether the 'Object' variable is a handle that is a static feature of the Object, or if its calculated at run time or open time. In this case, it appears its a static feature. Yes, you cannot use the Keys to your safe until you unlock your home and go in, but the keys are still valid keys.
I don't see any reason why any language would go in and clean up Skip lists; in this case the coder is expected to 'clean them up' by deleting the Skip when done with it. I believe the space IS freed up when the script ends (and dialogs closed), even when the Skips are not actually deleted. DOORS does have two areas of clean up they should do. The 'string' table is a disaster. There is also some other residual issues that I haven't nailed down that cause future DXL to run slower than expected, due to the lingering effects of earler now-ended DXL. - Louie |
|
![]() |
|
![]() |
|
On a somewhat related topic, I got the Object handle of an object and then purged it. After the purge command I was able to retrived Object information such as Text and ID, but was only able to do so for about a second and a half after purging. After that time the Object handle became invalid and my retrievals correctly generated DXL errors.
That was real spooky. - Louie |
|
![]() |
|
![]() |
|
Hi David, Hi Tony,
my experience has shown that it is really a great furtune if the Objects are still valid! I think the Object reference is a pointer into memory where the module is load into. So it depends on memory management, if the module is load into the same memory region again?! To bank on it could cause sporadic "Access Violation" errors, which may be hard to debug and of course hard to explain to the users ![]() Would suggest to place UID of module together with absolute number into the skip lists, if you really need to close the module between filling your skip list and use the collected data. Greetings Reik ------------------------- Evosoft GmbH for Siemens Industry Sector Berlin, Germany |
|
![]() |
|
![]() |
|
Well I kind of made this a moot point for what I'm doing since I'm opening the module in read only, when I need to change something, I change to edit, make the change, and downgrade back to read. I only close the module when I'm done. This gets around any problems with Object handles being null. So I'm good.
![]() Great info though. ------------------------- David Pechacek AAI Services Textron dpechacek@sc-aaicorp.com David.Pechacek@gmail.com |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Question on Objects in a Skip List
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.