DDEPOKE (send unsolicited data to DDE server)

Top  Previous  Next

 

DDEPOKE( channel, item, value )

DDEPOKE

Sends unsolicited data through an open DDE client channel to a DDE server.

channel

A LONG integer constant or variable containing the client channel--the value returned by the DDECLIENT procedure.

item

A string constant or variable containing the application-specific item to receive the unsolicited data.

value

A string constant or variable containing the data to place in the item.

The DDEPOKE procedure allows a DDE client program to communicate unsolicited data to the server. The item and value parameters must be in a format the server application can recognize and act on. The server does not need to be a Clarion program.

A Clarion DDE server can use the DDEITEM() and DDEVALUE() procedures to determine what the client has sent. The CYCLE statement after an EVENT:DDEpoke signals positive acknowledgement to the client that sent the unsolicited data. DDEACKNOWLEDGE can send either positive or negative acknowledgement.

Errors Posted:

601

Invalid DDE Channel

602

DDE Channel Not Open

604

DDEPOKE Failed

605

Time Out

Events Generated:

EVENT:DDEpoke     A client has sent unsolicited data

Example:

WinOne  WINDOW,AT(0,0,160,400)

       END

DDEChannel  LONG

CODE

OPEN(WinOne)

DDEChannel = DDECLIENT('Excel','System')             !Open channel to Excel

DDEEXECUTE(DDEChannel,'[NEW(1)]')                    !Create a new spreadsheet

DDEEXECUTE(DDEChannel,'[Save.As("DDE_CHART.XLS")]')  !Save it as DDE_CHART.XLS

DDECLOSE(DDEChannel)                                 !Close conversation

DDEChannel = DDECLIENT('Excel','DDE_CHART.XLS')      !Open channel to new chart

DDEPOKE(DDEChannel,'R1C2','Widgets')                 !Send it data

DDEPOKE(DDEChannel,'R1C3','Gadgets')

DDEPOKE(DDEChannel,'R2C1','East')

DDEPOKE(DDEChannel,'R3C1','West')

DDEPOKE(DDEChannel,'R2C2','450')

DDEPOKE(DDEChannel,'R3C2','275')

DDEPOKE(DDEChannel,'R2C3','340')

DDEPOKE(DDEChannel,'R3C3','390')

DDEEXECUTE(DDEChannel,'[SELECT("R1C1:R3C2")]')       !Highlight the data

DDEEXECUTE(DDEChannel,'[NEW(2,2)]')                  !and create a new chart

   !Send some more commands here to format the chart and work with it

DDECLOSE(DDEChannel)                                 !Close channel when done

 

See Also:

DDEACKNOWLEDGE

DDEITEM

DDEVALUE