戴上你们的返程帽..。
我不得不使用DDE (对不起,在这方面绝对没有选择)来与工业控制系统进行通信。控制系统是DDE服务器,运行在与我的DDE客户机相同的Windows7 PC上。
在我的客户机中,DdeGetLastError()返回DMLERR_INVALIDPARAMETER (16390 0x4006)。
客户端在其最初的NT实现中工作,但在Win7下重新构建并运行,XTYPE_POKE失败。
如果重要的话,DdeClientTransaction()调用是在一个线程中进行的,该线程从WinMain()开始,通过调用AfxWinMain()和CDialog::DoModal()来获得客户端的功能代码。
感谢你能提供的任何帮助...
发布于 2016-06-26 07:00:44
已确认只能在调用DdeInitialize()的同一线程上调用DdeClientTransaction(XTYP_POKE)。实际上,限制可能与调用DdeConnect()的线程相同,但我把钱放在DdeInitialize()上,因为返回的DDEIdInst被传递给DdeConnect()。我可能错了。
谢谢你让我和你们一起解决这个问题。:)
https://stackoverflow.com/questions/38031473
复制相似问题