![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Error with multiList initialisation Topic Summary: Created On: 13-Feb-2007 15:22 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
When the multilists are initialised using string arrays declared locally within a function, the first multilist displays the incorrect data.
If these string arrays (stringsA and stringsB) are declared globally, the problem does not manifest itself. Also, notice in the example that listA displays only the first 3 values of listB, not all of them. If the string arrays are declared globally, or in the same function, this issue does not arise. Telelogic have looged this as a defect with case ID SH1053063 for both DOORS 7.1 and 8. Example code demonstrates this. ------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
I added a multi-list using a global defined vector, and yes it works.
Notice what happens with the insertion of code into createB: the first entry gets messed up differently depending on whether you define XX or not. I suspect that the multi-list is actually constructed when 'realize' is called, and if so the local string vectors are no longer defined. I suspect that the vector constants are defined relative to the start of the function on the stack, and since the functions aren't defined when Realize is called that you just get whatever garbage is left in the stack. That is, multi-list remembers "vector starting 3 positions from Stack" when its a local vector, but remembers "vector starting 123 positions from start of DXL" when its a globally defined vector. Thats sort of like inserting a Buffer into a Skip list, deleting the Buffer, then attempting to retrieve it from the Skip. - Louie |
|
![]() |
|
![]() |
|
While it seems like a bug, I would agree with Louie's opinion. It seems that the string arrays in createA and createB are local to to each function. Therefore if you are trying to meet your objective without declaring global string arrays, you may be more willing to try the code I have attached.
Basically, my thinking is that I always populate my list boxes ( I almost always use listView elements)AFTER realizing the Dialog box because I usually add columns into the list boxes. You can only add columns in the list boxes after realizing the Dialog box. Hope this helps. |
|
![]() |
Telelogic DOORS
» Defect/Issue Tracking
»
Error with multiList initialisation
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.