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: Dialog box at DOORS start
Topic Summary:
Created On: 17-Mar-2008 10:38
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.
Answer This question was answered by Scott Boisvert, on Monday, March 17, 2008 1:09 PM

Answer:
K... Yup, was pretty easy actually.

Create global variable dxl file, and save it somewhere (testGlobal.dxl).
Create your dxl file for the dialog box, that will set the global variable (test3.dxl).

include both files in the startup.dxl file (global variable needs to be included first).

Create your new menu dxl file using if statements and place it in the \lib\dxl\config\formalFiles directory (testMenu.dxl).

See the attached files for examples.
 17-Mar-2008 10:38
User is offline View Users Profile Print this message


Karl Breuer

Posts: 66
Joined: 11-Jul-2005

Hi all,

I have a problem that may have been addressed before but could not find anything via search.

So what I want to do:
we have a plugin from Telelogic (eXchange) and need to provide different versions to different users. All our users use the same Doors client on a terminal server.
When a user starts Doors I would like a dialog box to pop up and ask for the needed version. Next Doors should create a formal module menu entry based on the version info.

I tried something myself but only got Doors to crash with an exception access violation error, so it may not be possible at all...

any ideas?
Karl
Report this to a Moderator Report this to a Moderator
 17-Mar-2008 12:18
User is offline View Users Profile Print this message


Scott Boisvert

Posts: 348
Joined: 14-Apr-2006

This might work thought I have completely tested the theory.

You would need to create a global variable at start up and a new mapping function. You can create both in the same dxl file, then include the file in the lib\dxl\init.dxl file just prior to the line "pragma splashMessage, "Loading help menu...", (not quite sure why it needs to be done prior to this, but this is how I got it to load my globals when I needed them, YMMV). You might be able to drop the file in the \lib\dxl\startupFiles directory or include the file in \lib\dxl\startup.dxl instead of modifying the init.dxl file (I would recommend trying one of these two options first, I had to do it in the init.dxl file, because my global was needed before the init.dxl file completed).

Another dxl file that you would either drop in the \lib\dxl\startupFiles directory or include in the \lib\dxl\startup.dxl file would create your dialog box requesting the version info and setting your global variable.

One more dxl file, that should be placed in \lib\dxl\config\formalFiles, would create your new menu using the new mapping function to determine if the menu options should be available or not.

Come to think of it, you could probably do away with the mapping function and just use if statements based on the global variable you created to determine if the menu item should be present.

This method will cause the dialog box to appear immediately after login, I would probably block the dialog so that the user is forced to make a selection. I might play with this today if I have some time, but this might get you started on a solution.

-------------------------
Scott Boisvert
Engineering Tools Administrator
L-3 Communications - Avionics Systems
scott.boisvert@l-3com.com
Report this to a Moderator Report this to a Moderator
 17-Mar-2008 12:39
User is offline View Users Profile Print this message


Scott Boisvert

Posts: 348
Joined: 14-Apr-2006

Answer Answer
K... Yup, was pretty easy actually.

Create global variable dxl file, and save it somewhere (testGlobal.dxl).
Create your dxl file for the dialog box, that will set the global variable (test3.dxl).

include both files in the startup.dxl file (global variable needs to be included first).

Create your new menu dxl file using if statements and place it in the \lib\dxl\config\formalFiles directory (testMenu.dxl).

See the attached files for examples.

test3.dxl
test3.dxl  (0 KB)
testGlobal.dxl
testGlobal.dxl  (0 KB)
testMenu.dxl
testMenu.dxl  (0 KB)



-------------------------
Scott Boisvert
Engineering Tools Administrator
L-3 Communications - Avionics Systems
scott.boisvert@l-3com.com
Report this to a Moderator Report this to a Moderator
 17-Mar-2008 13:09
User is offline View Users Profile Print this message


Karl Breuer

Posts: 66
Joined: 11-Jul-2005

Many many thanks Scott!
That's exactly what I wanted.
Fantastic

Karl
Report this to a Moderator Report this to a Moderator
 25-Mar-2008 11:54
User is offline View Users Profile Print this message


Reik Schroeder

Posts: 361
Joined: 28-Jul-2003

Hi Scott,

it's a little bit off topic, but it may be interesting for you

If you want to have global variables before init.dxl script starts, you may place them into config\baseWindowCallbackFiles
These files are run before login into Doors ....

Greetings
Reik

-------------------------
Evosoft GmbH
for Siemens Industry Sector


Berlin, Germany
Report this to a Moderator Report this to a Moderator
 25-Mar-2008 12:01
User is offline View Users Profile Print this message


Scott Boisvert

Posts: 348
Joined: 14-Apr-2006

Nice!!!!

Thanks Reik, that's much better than sticking them in the init.dxl file.....

-------------------------
Scott Boisvert
Engineering Tools Administrator
L-3 Communications - Avionics Systems
scott.boisvert@l-3com.com
Report this to a Moderator Report this to a Moderator
 25-Mar-2008 12:30
User is offline View Users Profile Print this message


David Pechacek

Posts: 674
Joined: 5-Dec-2006

I just put any startup dxl files in:

C:\Program Files\Telelogic\DOORS_8.3\lib\dxl\startupFiles

They're run as DOORS is starting up.

-------------------------
David Pechacek
AAI Services Textron
dpechacek@sc-aaicorp.com
David.Pechacek@gmail.com
Report this to a Moderator Report this to a Moderator
 25-Mar-2008 12:44
User is offline View Users Profile Print this message


Scott Boisvert

Posts: 348
Joined: 14-Apr-2006

Originally posted by: David Pechacek

I just put any startup dxl files in:



C:\Program Files\Telelogic\DOORS_8.3\lib\dxl\startupFiles



They're run as DOORS is starting up.


I tried that, but I think the mapping function wasn't being declared/run prior to the the baseWindow being created so that was causing problems. I think the startupFiles directory runs after the basewindow is created. So for for this implemtation I think Reik might have the better solution, as we are trying to adapt the baseWindow/Formal Files to key off a global variable.

-------------------------
Scott Boisvert
Engineering Tools Administrator
L-3 Communications - Avionics Systems
scott.boisvert@l-3com.com
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.