1 This is the status for DDE (i.e. raw dde messages) and ddeml.
3 DDE was implemented by Micheal Veksler some time ago, it has been reported as broken
4 by changes in the server and related parts of wine. AFAIK no-one has tried to fix these
5 and I have not tried to test them.
7 ddeml was untouched until December 1998 when some of the Corel/Macadamian team started
8 writing bits that were needed by Corel for the Wordperfect Suite port. These were mainly
9 around string handling and have been identified in the change history for each routine.
10 They were written to cope with a single instance only. About a week later I started
11 looking at ddeml as a whole.
13 The initialisation was tackled first, then the routines produced by Corel/Macadamian
14 were modified to cope with multiple instances of dde client/server and a first cut at
15 the un-initialise routine.
17 Once these are satisfactory then DdeNameService must be tackled, followed by the main
18 message reception routine and the invoking of the callback. Serious testing from this
19 point may well depend on Wine thread handling settling down.
21 The strategy so far has been to tackle the Unicode versions first. Once they have been
22 accepted as close to complete then the 32-bit ASCII routines then the 16-bit routines.
24 It is recognised that the solutions adopted may well not be suitable for wine-OS2, since
25 that OS has its own DDE rotuines intermediate in integration between raw DDE and ddeml,
26 also O/S 2 users may well want programs running under Wine to talk to native O/S 2 programs.
27 I do not have knowledge of MacOS or the internals of BeOS, but these may suffer from the
32 Complete initialisation, some of the 2nd call validation conditions have not been worked out
33 yet and the code for enabling the message loop needs writing.
37 Add true Unicode handling to CreateStringHandle, QueryString, CmpStringHandles. Also find
38 out why Initialize needs ASCII and Unicode variants.
40 Add reference count handling to CreateStringHAndle, FreeStringHandle etc.
42 Add DdeGetLAstError and related handling in all other modules. Also find out what to do about
43 storing errors that result in the instance failing to initialise in some way.
46 Just about all the rest
48 More specific items are commented in the code.