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