`
lovecontry
  • 浏览: 1095078 次
文章分类
社区版块
存档分类
最新评论

MFC DDE开发中令人迷惑的问题?

 
阅读更多

在用MFC(ddeml)开发DDE中,遇到一个令人迷惑的问题, ddeml提供的一些命令,在时钟函数里或按钮事件里运行正常,可是在线程里运行就出现如下错误:

"A parameter failed to be validated by the DDEML."

下面是两段代码:

//时钟
void YD::TimerProc(long hwnd,long nIDEvent,long uElapse,long lpTimerFunc)
{
CString strData;
static AAAA=0;
if (AAA.G_connection )
{
strData.Format("T%d", AAAA++);
AAA.G_connection->Advise("aaa",(char *)(const char *)strData);
}
}

//线程
UINT YD::YFDDE(LPVOID pParam)
{
CString strData;
static AAAA=0;

while(1)
{
if (AAA.G_connection )
{
strData.Format("%d", AAAA++);
AAA.G_connection->Advise("aaa",(char *)(const char *)strData);

Sleep(3000);
}

}
return 0;
}

线程和时钟的代码完全一样,可是运行结果不一样,难到ddlml有特殊的限制?这是MSDN说明的理由:

The application used a data handle initialized with a different item name handle than was required by the transaction.

The application used a data handle that was initialized with a different clipboard data format than was required by the transaction.

The application used a client-side conversation handle with a server-side function or vice versa.

The application used a freed data handle or string handle.

More than one instance of the application used the same object.

我也没有弄明白什么意思。

对了,有谁知道侯捷老师的《Windows DDE 动态资料交换》电子版图书在哪里下载?

分享到:
评论

相关推荐

    DDE通讯开发包

    在这个“DDE通讯开发包”中,包含了一个名为NDde的DLL文件,它提供了对DDE协议的编程接口,使得开发者能够方便地在自己的应用程序中集成DDE功能。 NDde库通常包括一组函数和数据结构,这些是开发DDE应用所必需的。...

    MFC 界面编程实例13个

    - 理解MFC中的线程类(CWinThread),以及如何创建和管理线程。 - 探讨线程同步问题,如使用CSemaphore或CCriticalSection。 9. **ActiveX控件和COM技术** - 学习创建和使用ActiveX控件,理解OLE和COM的概念。 - ...

    应用MFC开发高级应用程序

    #### MFC在现代开发中的角色 尽管随着.NET框架、Qt等新兴技术的发展,MFC的热度有所下降,但它仍然是许多企业和个人开发者在进行Windows桌面应用开发时的重要选择。特别是在需要高度定制化或性能优化的场景下,MFC...

    用vb6.0开发的DDE程序

    DDE由于其性能限制和安全问题,现在已经不推荐在新的开发项目中使用。 - 在Windows 2000系统下开发DDE程序时,需要考虑该系统的兼容性和限制,确保程序能在目标环境下稳定运行。 了解并掌握DDE技术对于理解早期...

    VB DDE服务器开发实例【源码】.rar

    然而,需要注意的是,DDE由于其安全性和效率问题,在现代软件开发中已经逐渐被其他更先进的通信机制(如COM、.NET Remoting、Web Services或WCF)所取代。尽管如此,理解DDE的工作原理对于理解现代通信机制的发展...

    VC实现简单的DDE进程间通讯

    在VC中,我们可以利用Microsoft Foundation Classes (MFC)库中的类来简化DDE编程。MFC提供了一些类,如CDDDEApp、CDDDEServerDoc、CDDDEServerView、CDDDEClientDoc和CDDDEClientView,它们分别用于处理DDE应用程序...

    DDE通讯协议SDK开发包

    DDE(Dynamic Data Exchange)是微软Windows操作系统中的一种通信协议,允许不同的应用程序之间共享数据和命令。这个DDE通讯协议SDK开发包包含了用于理解和实现DDE通信的关键元素,旨在帮助开发者构建能够与其他应用...

    此资源为dde服务端编程

    3. **创建和管理服务话题**: 在MFC中,你可以创建`CDDEServerItem`实例来代表服务话题,设置数据和回调函数。 4. **数据更新和通知**: 服务器可以使用`UpdateData`方法更新话题的数据,并使用`BroadcastStatus`或`...

    DDE驱动VC源代码

    【DDE驱动VC源代码】是关于在Visual C++(VC)环境中开发Dynamic Data Exchange (DDE) 驱动程序的相关知识。DDE是一种在Windows应用程序之间共享数据的早期技术,尤其在工控组态软件中应用广泛。ECC工控组态软件通过...

    dde.rar_模拟退火 MFC

    **模拟退火在MFC中的实现** 在MFC环境下实现模拟退火,首先需要定义一个包含目标函数和初始解的类,然后创建一个MFC应用程序项目。在项目的主循环中,利用定时器或者消息处理来控制退火过程。具体步骤包括: 1. **...

    DDE 控制中心控制整个DDE桌面环境

    在开发工具领域,DDE控制中心的相关知识对开发者来说可能并不常用,但理解其工作原理对于解决一些老系统的问题或是进行兼容性开发仍然是有价值的。例如,如果你需要修复或维护一个基于DDE的应用程序,理解DDE控制...

    DDE 通讯示例程序(C++源码)

    DDE(Dynamic Data Exchange)是微软Windows操作系统中的一种早期通信机制,允许应用程序之间共享数据和命令。这个DDE通信示例程序是用C++编写的,旨在帮助开发者理解和实现DDE通信过程。在这个示例中,修复了网上...

    DdeServer DDE服务器程序

    DDE(Dynamic Data Exchange)是微软Windows操作系统中的一个古老但仍然有用的技术,它允许应用程序之间进行实时数据交换和通信。DDE服务器程序是这种通信机制的一部分,它等待其他应用程序(称为DDE客户端)连接并...

    DDE-Client.rar_DDE_DdeClient_ndde .pfx

    标题中的"DDE-Client.rar_DDE_DdeClient_ndde.pfx"表明这是一个关于DDE(Dynamic Data Exchange)客户端实现的项目,其中包含了相关的代码和证书文件。DDE是一种在Windows操作系统中不同应用程序间交换数据的技术,...

    C语言头文件 DDE.H

    C语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 DDE.HC语言头文件 ...

    VB中DDE的简单使用

    - 在实际应用中,如果仍需使用DDE,需要考虑兼容性和安全性问题。 综上所述,VB中的DDE使用涉及创建服务器和客户端、建立链接、发送和接收数据,以及事件处理等多个环节。通过理解这些知识点,你可以实现两个VB...

    VB 利用DDE进程间通信,5行代码搞定

    在VB(Visual Basic)编程中,进程...DDE存在性能问题,且易受攻击,因此在新的开发项目中,通常建议使用更安全和高效的通信方式。然而,对于理解Windows IPC历史以及与老版本软件交互时,DDE仍然是一个重要的知识点。

    DDE服务模块.rar

    7. **安全考虑**:虽然DDE在现代软件开发中使用较少,但仍然存在一些安全风险,如DDE注入攻击。开发者在实现DDE服务模块时,需要注意防止恶意利用,比如限制连接数量,对数据进行校验等。 通过学习和分析易语言DDE...

    DDE通信程序

    在VC++中,我们通常会使用MFC(Microsoft Foundation Classes)库来简化DDE编程。MFC提供了一套类,如CDDEClient、CDDEServer和CDDEConnection等,用于实现DDE功能。下面将详细介绍这个过程: 1. **初始化DDE客户端...

    VB6.0_程序间DDE传递信息,线程操作

    在实际开发中,需要根据具体需求选择合适的DDE操作,合理设计线程策略,以实现高效且稳定的程序间通信。在学习和实践过程中,深入理解DDE的工作原理和线程管理技巧,对提升VB6.0编程技能大有裨益。

Global site tag (gtag.js) - Google Analytics