• 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 > ATL开发ActiveX:在工作线程中Fire连接点的示例。

ATL开发ActiveX:在工作线程中Fire连接点的示例。

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

佚名通过本文主要向大家介绍了atl activex,atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL开发ActiveX:在工作线程中Fire连接点的示例。
描述:

我用ATL做出ActiveX控件嵌入IE中,需要在工作线程中发出事件到IE。
看了CSDN许多旧贴,小弟对COM套间基本原理有了点了解,现就是急需哪位高人
能提供一些具体使用 CoMarshalInterThreadInterfaceInStream 和
CoGetInterfaceAndReleaseStream 实现跨线程FireEvent的代码让我们初学者
学习学习就好了。(特别是前一个函数,该传递些什么参数啊?)
PS: 关于使用全局变量保存指针的方法,我已试过,在AcitveX Container Test
可以捕捉到事件,但在IE中无效。为什么啊?


解决方案1:

关注

解决方案2:

MSDN 上有很详细的例子说明 也有源码,查询ATL tutorial

解决方案3:

MFC对COM的实现多线程支持不好,发个消息到主线程去Fire

解决方案4:

http://hubdog.csdn.net/Hubdog/comfag.htm
看看这篇文章有没有用,通过IStream传递
   var MarshalStream : pointer;
    //源线程
    procedure Foo1ThreadFunc;  //或者TFoo1.Execute
    var Foo : IFoo;
    begin
      //假设Foo2Thread正处于暂停状态 
      CoInitializeEx (...); 
      Foo := CoFoo.Create;
      //列集
      CoMarshalInterThreadInterfaceInStream (IFoo, Foo, IStream (MarshalStream));
      //告诉Foo2Thread 列集完毕
      Foo2Thread.Resume;
      CoUninitialize;
    end;
    //用户线程
    procedure Foo2ThreadFunc;  //或TFoo2.Execute
    var Foo : IFoo;
    begin
      CoInitializeEx (...);
      //逆列集
      CoGetInterfaceAndReleaseStream (IStream (MarshalStream), IFoo, Foo);
      MarshalStream := NIL;
      //使用Foo
      Foo.Bar;
      CoUninitialize;
    end;


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

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

  • 大家一般都怎么打包Atl开发的ActiveX控件?
  • 在ATL中,如何设置ActiveX的运行时的属性。
  • ATL写的ActiveX要怎么取得网页里PARAM传入的值?
  • 请教,ATL写的ActiveX控件在IE中加载时接口的调用顺序
  • 用ATL改写的Win32窗口程序加载ActiveX控件出错
  • Atl做的ActiveX控件的事件,在客户端如何调用?
  • 初次编写ATL的ActiveX控件,关于属性是函数的问题!请大家帮助!
  • 如何用ATL写ActiveX文档?
  • ATL无窗口ActiveX控件中,得到容器的方法
  • 有没有用SDK开发ActiveX控件的文章或源代码啊?不用MFC或ATL

相关文章

  • 2017-06-04 COM无法注册,请帮助解决:
  • 2017-06-05 问几个DLL相关问题。(对高手来说一定很简单)
  • 2017-06-05 关于给AdobeAcrobatReader加插件的问题,高分求救!
  • 2017-06-04 一直JPEG格式的数据流,怎么在控件里话bmp的图像
  • 2017-06-05 activex控件,如何在隐藏状态下接收事件
  • 2017-06-04 急!如何在Word表格里新增加一行?
  • 2017-06-05 寻找一种调试工具
  • 2017-06-04 在ATL开发ActiveX控件,请问能否把整个Frame,View集成到控件?
  • 2017-06-04 com接口参数可以使用stl吗,函数内部可以使用stl吗
  • 2017-06-05 VC60使用NuMegaBoundsCheckerv651后无法调试ActiveX

文章分类

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

最近更新的内容

    • 各位大侠,如何在自己的发布程序中包含微软的MsFlexGridActiveX控件,谢谢!
    • 前辈过来指点一下!学习COM应该注意什么事项!
    • 初学者请教:
    • 在ActiveX中如何包含一个ActiveX控件
    • activeX控件如何解决不需要装VisualStudio2010就能使用?
    • 请大家帮我看看这个dll函数的调用为什么会出错?
    • BSTR在传递时只传第一个字符,很奇怪??
    • 请wallimn来帮忙IPicture接口Render问题
    • 大家谁有类似QQ的通讯软件源码?Sockets类的别的也可以。
    • 是否有人成功地在ATLControl中实现了用户属性的Persistence?

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

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