DDE was an inter-process communications mechanism using the Windows message queue to exchange messages and data via global memory - ActiveX is a DLL interface - im not sure it makes sense to convert one to another architecturally. Why not stick with the message exchange architecture using WM_COPYDATA for the data - it may be difficult at best to "port" the asynchronous behavior of the DDE app using ActiveX or COM technology. Depends on the details i guess.