.. highlightlang:: us .. index:: DdeCallback_Advise .. _ddecallback_advise: DdeCallback_Advise ================== .. us.tag DdeCallback_Advise ENGLISH New500 :ref:`DdeCallback_Advise` is called by the server to send data to UniPlot. .. function:: bool = DdeCallback_Advise(hConv, ssItem, ssTopic, ssData) .. us.return **Return Value** *bool* is TRUE (1) if the function call was successful, otherwise FALSE (0). .. us.params **Parameters** .. uparam:: hConv *hConv* is the channel number. .. uparam:: ssItem *ssItem* is the item name. .. uparam:: ssTopic *ssTopic* is the topic name. .. uparam:: ssData *ssData* is the data send to UniPlot. .. us.example **Example** Establish an advise loop with a server: :: hconv = DdeInitiate("Service", "Values"); DdeAdvise(hconv, "Data"); The following function will be invoked when the data is changed: :: def DdeCallback_Advise(hConv, ssItem, ssTopic, ssData) { printf("---Advise---\n"); printf("Conversation-No.: %x, Item: %s, Topic: %s, Data: %s\n\n", .. hConv, ssItem, ssTopic, ssData); ss = strtok(ssData, ",") rvData = strtod(ss) plot(1:len(rvData), rvData); return TRUE; } .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Description * - 5.0.0 - New .. seealso:: :ref:`overview-dde`, :ref:`DdeCallback_Connect`, :ref:`DdeCallback_ConnectConfirm`, :ref:`DdeCallback_Disconnect`, :ref:`DdeCallback_Request`, :ref:`DdeCallback_Execute` :sub:`id-334299`