0
votes

I need to access some data in Windows, for this I want to use DDE (Dynamic Data Exchange) provided by tcl language. I found this link in google http://manpages.ubuntu.com/manpages/precise/man3/dde.3tcl.html#contenttoc4 , but I didn't have success. Somebody can help me ?

I have tcl installed in my Ubuntu 12.04, but when I call 'dde' in tclsh I have this message "invalid command name 'dde' "

1
It only makes sense for this command to be available where Tcl is installed in a Microsoft Windows OS, as documented on the command's man page - glenn jackman
Wait: you want to access data in windows and use ubuntu for that? - Johannes Kuhn
DDE is based on the Windows message pump. - Donal Fellows
I disagree, DDE is a technology created by Microsoft, but in Ubuntu I have the command dde inside Tcl as appears here manpages.ubuntu.com/manpages/precise/man3/… or in other words yes I can access shared data in Windows, but I don't know how... Johannes, I have an application running in Windows XP using DDE , COMSrv is an utility for decoding data from serial ports and then make the data available to other applications through DDE (a Windows standard for Dynamic Data Exchange). - Geraldo Luiz Cartolano

1 Answers

3
votes

DDE is fundamentally tied to the Windows messaging system; it does not work on any other platform and attempting to package require dde will fail (with a clean, catchable error). All you can do on Ubuntu with the dde package is write scripts that will use DDE when run on Windows. Of course, it's entirely legal to do just that: you don't have to be coding on the platform that you're developing for, and cross-development has been done by people for many years.

An approximate equivalent to the dde package is Tk's send command, though the details of capabilities and use are substantially different.


A closer moral equivalent for DDE-like things on Ubuntu would be a DBus integration package, but that's not currently part of Tcl or Tk. (I've no idea if it is working, or available via your system's package manager.) If it works for you and you believe that that package ought to be distributed with Tcl in the future, please contact the Tcl Core Team to make a case for doing so.