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: Experience with setRegistry() on DOORS 8.1
Topic Summary:
Created On: 23-Jun-2006 11:53
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.
 23-Jun-2006 11:53
User is offline View Users Profile Print this message


Dirk Plaschke

Posts: 103
Joined: 17-Sep-2002

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
Report this to a Moderator Report this to a Moderator
 23-Jun-2006 15:35
User is offline View Users Profile Print this message


Louie Landale

Posts: 2070
Joined: 12-Sep-2002

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
Report this to a Moderator Report this to a Moderator
 26-Jun-2006 08:03
User is offline View Users Profile Print this message


Dirk Plaschke

Posts: 103
Joined: 17-Sep-2002

My script deletes the parameters after usage.

Telelogic says, that this is a bug and will be appraised for a next version...

-------------------------
Dirk Plaschke
Report this to a Moderator Report this to a Moderator
 17-Jul-2006 22:25
User is offline View Users Profile Print this message


Kent Power

Posts: 18
Joined: 28-Apr-2005

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.
Report this to a Moderator Report this to a Moderator
 18-Jul-2006 12:27
User is offline View Users Profile Print this message


Mandy Livingstone

Posts: 14
Joined: 11-Jan-2005

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
Report this to a Moderator Report this to a Moderator
 18-Jul-2006 14:00
User is offline View Users Profile Print this message


Dennis Lockshine

Posts: 113
Joined: 7-Apr-2003

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
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.