c657fd3d61
wxIPC API doesn't map well onto DDE, as we don't have wxIPCFormat parameter in StartAdvise() but do allow specifying the format when calling Advise() itself, whereas DDE requires specifying the format when establishing the advise loop and the data always must use this format later. Because of this, we have to pass the actual format with the data itself instead of relying on DDE formats support. This has the advantage of allowing wxIPC_UTF8TEXT to work, while previously it didn't and couldn't, as DDE only supports the standard (or custom, but registered) clipboard formats and it wasn't one of them. Of course, this also has a disadvantage of having to make another copy of the data, but this seems unavoidable. This change allow Advise() overload taking wxString to work, including for non-ASCII strings, as shown by the update to the IPC sample. It also makes wxDDEConnection::m_dataType unnecessary, as we must always use the format passed to DDE callback anyhow when handling XTYP_ADVREQ. Closes #17900. |
||
---|---|---|
.. | ||
baseclient.cpp | ||
baseserver.cpp | ||
client.cpp | ||
client.h | ||
connection.h | ||
ipc_vc7_baseipcclient.vcproj | ||
ipc_vc7_baseipcserver.vcproj | ||
ipc_vc7_ipcclient.vcproj | ||
ipc_vc7_ipcserver.vcproj | ||
ipc_vc8_baseipcclient.vcproj | ||
ipc_vc8_baseipcserver.vcproj | ||
ipc_vc8_ipcclient.vcproj | ||
ipc_vc8_ipcserver.vcproj | ||
ipc_vc9_baseipcclient.vcproj | ||
ipc_vc9_baseipcserver.vcproj | ||
ipc_vc9_ipcclient.vcproj | ||
ipc_vc9_ipcserver.vcproj | ||
ipc.bkl | ||
ipcsetup.h | ||
makefile.bcc | ||
makefile.gcc | ||
Makefile.in | ||
makefile.unx | ||
makefile.vc | ||
server.cpp | ||
server.h |