Skip to content

Which version of pywin32 works with Ecco Pro DDE?

Two programs of which I am aware uses pywin32 (the Python for Windows extension) to access Ecco Pro's DDE interface:  EccoTools and classeccodde.py.  I have found that the current version of pywin32 (v 212) doesn't work, and that the newest version that does work is version 207. (BTW, you can look at all the versions of pywin32 available at sourceforge.)

The problem comes when you try to create a DDE session with the following lines:

import dde
dde.CreateServer().Create('EccoSession')

If you use versions of pywin32 from v 208 up, you get a "The server could not be created" error.

Next steps:  I should report this error to Mark Hammond, the author of pywin32.  I wrote a message about this issue in the Ecco_Pro group to see whether others

{ 2 } Comments

  1. jon-nicoll.myopenid.com/ | March 27, 2009 at 2:42 pm | Permalink

    Hi there – I also saw the same problem and searched a little deeper, via the pywin32 sourceforge project. What I learned is this:

    – support for multiple DDE servers was removed; this was apparently "implemented via some low-level hacks that were incompatible with DEP prevention and 64-bit".

    – Because of this, I think the canonical usage:

    >>> import dde
    >>> server = dde.CreateServer()
    >>> server.Create('TestClient')

    does not work (because this implies the ability to create multiple Servers?) (*)

    – The following usage (is win32ui needed her? not checked)

    >>> import win32ui, dde
    >>> dde.CreateServer().Create('TestClient')

    Should work. HOWEVER: if you try it from eg. within PythonWin, it will fail. This is because PythonWin uses the one available server. so you will get different results if you try this from within pythonwin, and at the python prompt.

    – you can disable pythonwin's use of DDE by starting it up with '/nodde'

    (*) I haven't checked this at the command line – it might fail because I was trying it within pythonwin.

    HTH
    Jon N

  2. Raymond Yee | April 8, 2009 at 2:51 pm | Permalink

    Thanks, Jon, for this clarification!

Post a Comment

You must be logged in to post a comment.