Title: | *OLD* ALL-IN-1 (tm) Support Conference |
Notice: | Closed - See Note 4331.l to move to IOSG::ALL-IN-1 |
Moderator: | IOSG::PYE |
Created: | Thu Jan 30 1992 |
Last Modified: | Tue Jan 23 1996 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 4343 |
Total number of notes: | 18308 |
Hello everybody, I have been asked to implement an application (FRED) under ALL-IN-1. FRED accesses RALLY and then it disappears in its own world. The user interface is provided by about 20 pages of DCL which writes escape sequences to the screen to paint nice menus and accept user input. The problem occurs at the following line: $read/end_of_file=end/prompt= - "''esc'[20;40H''esc'[KEnter Choice:__''esc'[2D" - sys$command CHOICE DCL-E-nnnnnn, File has not been opened by DCL - check logical name. FRED runs hapily started form the dollar prompt and even spawned from DCL. From under ALL-IN-1 it doesn't. I have redefined sys$command to sys$input and even defined sys$input to the translated logical sys$output To no avail apart from making it worse. Is there any way I can get round this problem without touching the DCL code and without asking ADG to rewrite their application so it's ALL-IN-1 compatible? Thanks in advance. Wivine. (IS Service Center Brussels - DTN 856-7558) P.S.: This note has also been posted in the ALL-IN-1_CLI notes file.
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
2825.1 | IDNTCR::RHOTON | John Rhoton @TNO - DTN 871.7947 | Tue Jun 08 1993 10:28 | 17 | |
<<< ASIAGO$DUA1:[NOTES$LIBRARY]ALL-IN-1_CLI.NOTE;2 >>> -< ALL-IN-1 Code Level Integration >- ================================================================================ Note 221.1 SYS$COMMAND and ALL-IN-1 sub-process 1 of 1 IDNTCR::RHOTON "John Rhoton @TNO - DTN 871.7947" 10 lines 8-JUN-1993 10:30 -< SYS$COMMAND pointing to mailbox >- -------------------------------------------------------------------------------- re: .0 I guess the problem probably derives from the fact that during sub-process execution of a command procedure SYS$COMMAND is defined as the mailbox device rather than the terminal. You could try defining SYS$COMMAND to SYS$ERROR or SYS$OUTPUT (which should be pointing to the terminal) at the beginning of the procedure, or in a jacket procedure, and then deassigning it at the end. John | |||||
2825.2 | Try SPAWN | MIMS::HUSSEY_D | NOT the MAMA!!! NOT the MAMA!!! | Tue Jun 08 1993 17:06 | 7 |
If you aren't passing things back and forth from ALL-IN-1 (based on fact tha you don't want to change the DCL that works outside of ALL-IN-1), use the SPAWN function rather than COMMAND. This will create an honest-to-goodness VMS subprocess rather than the ALL-IN-1 captive subprocess. FWIW... |