保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

DDE与COM技术在组态软件开发中的应用


>  项目(Item):被讨论的特定数据对象。
  
  在DDE服务程序中首先使用DdeInitialize进行初始化,然后调用DdeCreateStringHandle建立应用程序名、主题和项目等标识的句柄,再通过DdeNameService在操作系统中注册DDE服务程序的名字。根据这些句柄,客户程序就可以使用它提供的DDE服务了。在VC++中的程序实现如下:
  
  #include<ddeml.h>……
  
  DWORDidInstc=0,iData;//iDate是项目对应的数据
  
  HSZhszSvr,hszTopic,hszIrem;
  
  DdeInitialize(&idInst,(PFNCALLBACK)DdeCallback,CBF_
  
  FAIL_EXECUTES┃CBF_SKIP_ALLNOTIFICATIONS,0L);
  
  //建立应用程序名、主题和项目等标识的句柄
  
  hszSvr=DdeCreateStringHandle(idInst,“DDEApp”,0);
  
  hszTopic=DdeCreateStringHandl
  
  
  
  e(idInst,“DDEAppTopic”,0);
  
  hszItem=DdeCreateStringHandle(idInst,“DDEApphem”,0);
  
  //在操作系统中注册该DDE服务
  
  DdeNameService(idInst,hszSvr,0L,DNS_REGISTER);
  
  ……
  
  DDE服务程序的核心部分是一个回调函数,它处理所有DDE消息及相应数据请求。DDE服务程序回调函数的代码如下:
  
  HDDEDATACALLBACKDdeCallback(WORDusType,WORDusFmt,HCONVhConv,HSZhsz1,HSZhsz2,HDDE—DATAhData,DWORD1Datal,DWORD1Data2){CHARsz[5]
  
  if(usType==XTYP_CONNECT){//得到连接请求return((HDDEDATA)TRUE);
  
  }
  
  //校验主题、项目的句柄及数据格式
  
  if(hszl==hszTopic&&hsz2==hszItem&&usFmt==CF_TEXT){
  
  if(usType==XTYP_REQUEST‖usType==XTYP_ADVREQ){//得到数据请求
  
  _itoa(iData,sz,10);//将数据转换为文本格式
  
  returnDdeCreateDataHandle(idInst,(LPBYTE)sz,
  
  strlen(s2)十1,0L,hszItem,CP_TEXT,0);
  
  }
  
  if(usType==XTYP_POKE){//得到客户端发送来的数据
  
  DdeGetData(hData,(LPBYTE)sz,strlen(sz)十1,

《DDE与COM技术在组态软件开发中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/174464.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。