PreviousNextIndex

DDE GET statement


(Windows only)

Retrieves the value of a dynamic data exchange (DDE) server data item that has changed and triggered a DDE-NOTIFY event.

This statement is supported only for backward compatibility. Use the Component Object Model (COM) instead.

Note: Does not apply to SpeedScript programming.
Syntax

DDE GET ddeid TARGET field ITEM name 
  [ TIME seconds ] 
  [ NO-ERROR ] 

ddeid
TARGET field
ITEM name
TIME seconds
NO-ERROR
Example

The following fragment shows how to use the DDE GET statement to set up a procedure to capture a rate-of-change value as it changes in a dynamic model run in a Microsoft Excel worksheet. The example assumes that the Microsoft Excel application is running, and has opened the default Excel worksheet, Sheet1, which runs the model.

After the conversation is opened, the DDE ADVISE statement links to the worksheet cell that maintains the latest rate-of-change value (2nd column of the 4th row, or R4C2). Every time this cell changes value, the AVM posts a DDE-NOTIFY event to the frame DDEframe, where the value is retrieved using the DDE GET statement, and stored as a decimal in the ChangeRate variable. Meanwhile, if the REPEAT block detects a ChangeRate value greater than 7.5%, the the link to cell R4C2 is closed and the procedure continues.

DEFINE VARIABLE Sheet1     AS INTEGER NO-UNDO.   /* DDE-ID to worksheet */ 
DEFINE VARIABLE ChangeRate AS DECIMAL NO-UNDO    /* Rate of change... */ 
  INITIAL 0.0.                                   /* ...starting at 0 */ 
DEFINE VARIABLE CellData   AS CHARACTER NO-UNDO. /* Worksheet cell output */ 
DEFINE VARIABLE DDEframe   AS HANDLE    NO-UNDO. /* DDE frame handle */ 
CREATE FRAME DDEframe 
TRIGGERS:           /* DDE frame and code to receive  */ 
  ON DDE-NOTIFY DO: /* Rate of change data from Excel */ 
    DDE GET Sheet1 TARGET CellData ITEM "R4C2". 
    ChangeRate = DECIMAL(CellData). 
  END. 
END TRIGGERS. 
. . . 
/* Open conversation with Sheet1 and link to rate-of-change value. */ 
DDE INITIATE Sheet1 FRAME DDEframe APPLICATION "Excel" TOPIC "Sheet1". 
DDE ADVISE Sheet1 START ITEM "R4C2". 
/* Do some processing while the rate-of-change is within 7.5% */ 
REPEAT WHILE ChangeRate <= 7.5: 
. . . 
END. /* 7.5% processing */ 
/* Go on to other things once the rate of change goes above 7.5%. */ 
DDE ADVISE Sheet1 STOP ITEM "R4C2". 
. . . 

Notes
See also

DDE ADVISE statement, DDE INITIATE statement


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex