• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 一个很诡异的COM问题,望大虾们帮忙

一个很诡异的COM问题,望大虾们帮忙

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了油焖大虾,大虾加盟,王婆大虾加盟,油焖大虾做法,红烧大虾等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 一个很诡异的COM问题,望大虾们帮忙
描述:

写了一个程序server.exe,其中实现了一个COM对象(起名叫sco吧)。client连接server的时候创建sco这个对象,用sco实现的接口访问server中的数据。
server.exe运行流程如下:
1.初始化
2.注册sco的类厂
3.循环更新数据,直到强制退出
我对COM刚刚开始了解不知道理解的对不对。我觉得当client要创建sco这个对象的时候,会先在com库中查sco的类厂有没有注册,如果已经注册了,就直接调用类厂的CreateInstance函数来创建sco。这样,如果server.exe已经在运行(sco的类厂已经注册了),那么一个新的client的连接请求不会导致再创建一个server.exe进程。从我的实验结果来看,情况确实是这样的。
之后,我把server.exe改成了服务。其实就是在启动服务的时候用createprocess创建一个server.exe的进程。这时问题出现了!虽然服务已经开启(server.exe进程已经存在),当有新的client想要连接server的时候,似乎并没有在com库中查到已注册的 sco的类厂,而是又新建了一个server.exe的进程……这到底是为什么啊?
折腾了好久依旧没有发现原因,希望大虾们帮忙分析一下。


解决方案1:

实现单实例的进程服务。

解决方案2:

应该把server.exe改成service形式的Com Service
而不是启动服务里CreateProcess一个server.exe来


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 各位大虾!!怎么把Windows的某个服务手动删除。。。。
  • 请问哪位大虾有实现IInternetProtocolRoot接口的完整例子?
  • 请问各位大虾,如何实现IInternetProtocolRoot接口?
  • 哪位大虾帮帮小弟啊在一个MFC控件中怎么使用定时器啊
  • 各位大虾,一个关于COM的问题
  • [急]大虾帮忙,这段代码什么意思呀,帮忙分析一下
  • 大虾说下OLE,ActiveX,COM,ATL这四者是什么关系?
  • atlhost出问题,大虾帮忙
  • 打开word文档提示类型不匹配,大虾们看看
  • ##################有经验的大虾,请进~~小弟求教Word

相关文章

  • 2017-06-04 vc怎么屏蔽word的复制粘贴操作啊
  • 2017-06-05 VS2010MFC应用程序中WebBrowser控件打开的链接如何在自己的程序中打开
  • 2017-06-04 用于ASP的COM组件如何调试?
  • 2017-06-04 如何调用COM组件里的事件?
  • 2017-06-04 来鸟问题100份,再现给分
  • 2017-06-05 MFC控件的按钮图标在win7下模糊
  • 2017-06-05 作个dll的封装,debug没问题,release有问题LNK4089
  • 2017-06-05 一个Dll程序A,隐式链接另外一个Dll程序B,在不改动A的情况下,有没有办法在B里面知道A是否处在调试状态?
  • 2017-06-05 请教高手怎样捕获其他进程的键盘消息?
  • 2017-06-05 Installshield升级包断档,紧急求助。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 我在MFC工程中建了一个ATL对话框类实现按钮的动态生成,现在不知道怎么在ATL中使用自绘按钮实现按钮在不同状态下的图片,请问如何实现?
    • 脚本引擎的深入探讨
    • 再问一个关于放入网页的ActiveX控件问题
    • 在com中运用多态应注意什么问题?
    • MIDL中如何定义返回BSTR数组的方法?
    • 请教有关调用dll的方法!
    • VCCSerialPort类串口通信时怎样清空接收缓存
    • 怎么做单文档的activex打开word
    • 如何得到组件的方法?求救!!!
    • 在VC++和C#中,如何实现COM的动态加载?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有