| Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
| Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
| Moderator: | STAR::VATNE |
| Created: | Mon Oct 30 1989 |
| Last Modified: | Mon Dec 31 1990 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 3726 |
| Total number of notes: | 19516 |
I have installed the UCX connection product(1.3) on my VAXStation 3100
(VMS 5.3) and am trying to connect to more than one display(2) from within
one process, using TCPIP to connect to one and DECNET to connect to the
other. I am able to connect to multiple displays if all of my XtOpenDisplay
calls are DECNET requests. But, when I specify "node:0", I get back a
NULL in the display pointer. The Ultrix node that I am attempting to
connect to are in my UCX$CONFIG.DAT file and I can TELNET from those nodes
back to my node and I can ping my node from them.
Here is the code stub where I attempt to open two displays. But,
I do not think my code is the problem. It has to be something wrong
with the way I have my network configured. XtOpenDisplay/XOpenDisplay
should be able to connect from VMS with UCX installed to Ultrix when
I get the setup right, shouldn't it?
---Bill
main(argc,argv)
unsigned int argc;
char **argv;
{
XtToolkitInitialize();
appcontext = XtCreateApplicationContext();
display1 = XtOpenDisplay(appcontext,"yendor:0","MYAPP","myapp",
0,0,&argc,*argv);
display2 = XtOpenDisplay(appcontext,"yoyodn::0","MYAPP","myapp",
0,0,&argc,*argv);
XtSetArg(arglist[0], DwtNx, 400);
XtSetArg(arglist[1],DwtNy, 200);
XtSetArg(arglist[2],DwtNallowShellResize, TRUE);
toplevel1 = XtAppCreateShell( "MYAPP","myapp",
applicationShellWidgetClass,
display1,arglist,3);
toplevel2 = XtAppCreateShell( "MYAPP","myapp",
applicationShellWidgetClass,
display2,arglist,3);
.
.
.
.
.
.
.
}
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 3660.1 | try set display | VINO::MCARLETON | Reality; what a concept! | Wed Nov 14 1990 11:02 | 36 |
Try something like this
$set display/create/node=yendor/transport=tcpip foo
$set display/create/node=yoyodn/transport=decnet bar
$sho log foo
"FOO" = "_WSA37:"
$sho log bar
"BAR" = "_WSA38:"
display1 = XtOpenDisplay(appcontext,"_WSA37:","MYAPP","myapp",
0,0,&argc,*argv);
display2 = XtOpenDisplay(appcontext,"_WSA38:","MYAPP","myapp",
0,0,&argc,*argv);
You can translate FOO and BAR inside your application if you want.
to avoid hard coding the WSA numbers:
char *foo,*bar;
foo = getenv("FOO");
bar = getenv("BAR");
display1 = XtOpenDisplay(appcontext,foo,"MYAPP","myapp",
0,0,&argc,*argv);
display2 = XtOpenDisplay(appcontext,bar,"MYAPP","myapp",
0,0,&argc,*argv);
MJC
| |||||
| 3660.2 | Still stuck... | CSC32::B_KEMP | X'ed out TopFlite | Thu Nov 15 1990 10:32 | 16 |
I am still miffed by this. I have hardcoded the workstation number
in the XtOpenDisplay, have UCX running, am authorized to access the server
node, have the address and nodename of the client in /etc/hosts on the
server, but, still get a NULL in display1. This all works fine using DECNET.
I can even use "node::0" in the XtOpenDisplay routine and open multiple
displays as long as they are in my volatile database and I am authorized to
connect to the server. If I do a create/term/display=foo and foo is the logical
from set display/create/node=yendor/transport=tcpip foo, the error that is
returned is:
%DECW-E-CANT_OPEN_DISPL, Can't open display
%SYSTEM-F-IVLOGNAM, invalid logical name
which is in sys$message:decw$terminalmsg.exe.
This does not sound like a security problem, but I am not sure where
to look. Has anyone done this?
Bill
| |||||
| 3660.3 | Single colon unsupported | STAR::VATNE | Peter Vatne, VMS Development | Thu Nov 15 1990 13:59 | 12 |
Using a single colon to specify TCP/IP in XOpenDisplay and friends is unsupported on VMS. Mike's suggestion is the correct and supported way to use both TCP/IP and DECnet transports in the same program. Can you get any program to use TCP/IP? For example, $ SET DISPLAY/CREATE/TRANS=TCPIP/NODE="yendor" $ RUN DECW$EXAMPLES:ICO Note that TCP/IP node names must be quoted if the node names are lower case, and they don't have an uppercase alias in the TCP/IP node name database. | |||||
| 3660.4 | Lowercase was the key! | CSC32::B_KEMP | X'ed out TopFlite | Thu Nov 15 1990 15:06 | 10 |
I had to quote the Ultix node in the set display command as you stated.
Thank you!!!
Should you be able to use DECNET and TCPIP from one process/one application
context to open multiple displays. I can now open either TCPIP transport
servers or DECNET transport servers from the application, but when I attempt
to open a DECNET transport node after opening a TCPIP transport node, the call
to XtOpenDisplay fails with an accvio on the guard page. Weird...
Your help is greatly appreciated.
Bill
| |||||
| 3660.5 | DECnet and TCP/IP should work in same program | STAR::VATNE | Peter Vatne, VMS Development | Thu Nov 15 1990 15:22 | 3 |
I have been able to use both DECnet and TCP/IP from the same program at the same time. If you get an ACCVIO, then you must be tripping on a new bug. Please QAR it. Thank you. | |||||