LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can communicate one direction in DDE app, but not the other

I am writing a Labview app and trying to use DDE to transfer data between it and another app. I can retrieve info from the server app to my app, but cannot send from my client to the server app. I have a conversation link, but the app returns the error "invalid ADVSTART" error. If I drill down into the DDE Advise Start vi, it shows the error is generated by a sub VI called DDE Master Control after which point I'm a little lost. Can anyone give me an idea of why this might be happening. The DDE service, topic and item numbers are the same another app (written in VB-no source) uses to communicate which has no problems.
0 Kudos
Message 1 of 3
(3,062 Views)
You cannot send data using the Advise Start VI. You should open a conversation link and use the poke VI.

Several DDE sequences are often used:

Read data:
Open ==> Request ==> Close

Continuous read:
Open ==> Advise Start ==> Advise Check ==> Advise Stop ==> Close
(Advise Check is often put in a loop)

Write:
Open ==> Poke ==> Close


In case you get a strange error, check the error cluster wiring. When an error has occured, none of the DDE VI's after the error will be executed.
Message 2 of 3
(3,062 Views)
The previous post is absolutely correct in terms of the programming model for DDE.

In case you're interested, there is more information regarding DDE use in LabVIEW:
DZ Tutorial: Using DDE in LabVIEW (Windows Only)

Also, just as a FYI, DDE technology has been replaced by ActiveX and a recommendation might be to think about using ActiveX for future inter-application communication.

Best of luck.
0 Kudos
Message 3 of 3
(3,062 Views)