NGU-SERVER-GET-DATA Subprogram

This document covers the following topics:


Natural Object Name

NGUSVGDA

Description

Lets the server retrieve data supplied with a message from some client. You must use this subprogram in the event handler of a DDE-server event. DDE-VIEW.MESSAGE will hold one of the values described below. You must then ensure that your event handler code acts on the value of DDE-VIEW.MESSAGE.

The possible values of DDE-VIEW.MESSAGE are:

CONNECT On request by a client, a conversation has been established with the topic DDE-VIEW.TOPIC and the service DDE-VIEW.SERVICE. Topic and service must have been registered by the server. The value in DDE-VIEW.CONV-ID uniquely identifies this conversation.
DISCONNECT On request by a client, the conversation identified by DDE-VIEW.CONV-ID has been closed.
REQUEST The client of the conversation specified in DDE-VIEW.CONV-ID has requested data as specified in DDE-VIEW.ITEM.
ADVISE The client of the conversation specified in DDE-VIEW.CONV-ID has requested a data link for the data specified in DDE-VIEW.ITEM. The DDE-server event handler must then use the NGU-SERVER-DATA subprogram whenever new data become available during the conversation.
UNADVISE The client of the conversation specified in DDE-VIEW.CONV-ID has requested to close a data link for the data specified in DDE-VIEW.ITEM. (This data link was previously opened using "Advise".)
POKE The client of the conversation specified in DDE-VIEW.CONV-ID has sent data as specified in DDE-VIEW.ITEM and DDE-VIEW.DATA. These data have the length of DDE-VIEW.DATALEN. DDE-VIEW.DATA should be chosen as appropriate for the expected conversations.
EXECUTE The client of the conversation specified in DDE-VIEW.CONV-ID has requested the execution of the command specified in DDE-VIEW.DATA and DDE-VIEW.ITEM. The length of this command is held in DDE-VIEW.DATALEN.
TIMEOUT A timeout has occurred. No client message has been received during a specified time interval.

When DDE-VIEW.MESSAGE has the value DISCONNECT, DATA, or NOTIFY, the fields DDE-VIEW.SERVICE and DDE-VIEW.TOPIC are also set appropriately.

The value in DDE-VIEW.TIMEOUT specifies the maximum number of milliseconds the server wants to wait for a message:

  • If set to "-1", the server will wait indefinitely.

  • If set to "0", a message will be returned immediately, if there is one pending, or "Timeout" will be returned.

  • If set to any other value, the exact time that elapses before a message is returned can only be guaranteed to be no less than DDE-VIEW.TIMEOUT.

Parameters

Name/Data Type Explanation
1 DDE-VIEW Input/Output PDA for DDE subprograms.
2 SERVICE (A20) Service name.
2 TOPIC (A20) Topic name.
2 CONV-ID (I4) Conversation ID.
2 MESSAGE (A20) Message information.
2 ITEM (A20) Item of current conversation.
2 FORMAT (A20) Format of data to be sent.
2 TIMEOUT (I4) Time interval before the conversation is interrupted because there is no server message.
2 DATALEN (I2) Length of data.
2 DATA-ARRAY (A1/1:V)  
1 Max-Index (I2) Input Highest index of DATA-ARRAY; can be set to any I2 value.
1 Response (I4) Output Natural error (if applicable).