![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Experience with setRegistry() on DOORS 8.1 Topic Summary: Created On: 23-Jun-2006 11:53 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
I found, that with DOORS 8.1 the function 'setRegistry()' has a bug.
The values are not correctly written, only weird letters are written to the key. Example: string s = setRegistry( "HKEY_CURRENT_USER\\SOFTWARE\\DXL\\DXLScriptParameter", "Parameters", "TESCHT") print s // no error. Seems the string ist unicode?? Does anybody has the same issue? ------------------------- Dirk Plaschke |
|
![]() |
|
![]() |
|
Expect to get v8.1 today and load it for testing.
Golly, when it rains it pours. Just yesterday I finished writing a small suite of library functions to support Scripts remembering parameters such as the last load directory. These use the Registry. I figure to write another script that sets a "stop" flag in the registry and have long running scripts check it often (such as before they open another module), allowing them to stop gracefully. I decided to have the DXL key area sibling to the "Config" Key under the specific version of DOORS, in my case HKEY_CURRENT_USER\\Software\\Telelogic\\DOORS\\7.1\\SysEng-DXL. The "7.1" part is built dynamically depending on the doorsversion. This has the effect that different versions of DOORS do NOT communicate such parameters; and when we migrate all such parameters are lost. Maybe I should use your scheme which uses a version indepenant Key area in the Registry. Mmmmm. I'd use area "\HKEY_CURRENT_USER\Software\Telelogic\SysEng-DXL. - Louie |
|
![]() |
|
![]() |
|
My script deletes the parameters after usage.
Telelogic says, that this is a bug and will be appraised for a next version... ------------------------- Dirk Plaschke |
|
![]() |
|
![]() |
|
One of our engineers ran across this same problem with code that works in 7.1 and 8.0, but not 8.1. He came up with a couple of other bits of information that might be of use to anyone trying workarounds.
1. The problem with the value in the registry after using setRegistry looks to be that ASCII text is being put into the key, while Windows apparently expects Unicode. If a key is examined with, e.g., regedit after using setRegistry, ASCII code appears in the binary value of the key, and the key's display is symbols, not text. If the key is altered to the test string using regedit, then unicode appears in the binary values, and the text of course appears in the regedit display. 2. setenv appears to work where setRegistry, getRegistry don't. See the attached test case. Examination with regedit of the binary value written using setenv reveals values that look like unicode. |
|
![]() |
|
![]() |
|
This defect will be resolved in the next DOORS 8.1 patch - we hope to be able to deliver this in the next month or so.
A DOORSnews announcement will be sent when the patch is made available - please ensure that you subscribe to this service Regards Mandy |
|
![]() |
|
![]() |
|
Using a standard Windows API, I wrote this small function to set a value in the registry. I don't have DOORS 8.1 installed but I assume it will work where the DOORS param will fail.
You specify the full path of the key including the valueName in the first 'key' parameter and the string value you want to set in the second 'value' parameter. If the path or valueName does not exist it will be created. Notes: Specify a registry key name by ending 'key' with a final backslash. Do not include a final backslash to specify a registry value name. HKEY_CURRENT_USER can be abbreviated to HKCU HKEY_LOCAL_MACHINE can be abbreviated to HKLM HKEY_CLASSES_ROOT can be abbreviated to HKCR Sample calls look like: setRegistry("HKLM\\SOFTWARE\\Telelogic\\DOORS\\7.1\\Config\\Addins", "\\\\server\\share") setRegistry("HKCU\\SOFTWARE\\DXL\\DXLScriptParameter\\Parameters", "TESCHT") -Dennis |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Experience with setRegistry() on DOORS 8.1
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.