Chinaunix首页 | 论坛 | 博客
  • 博客访问: 578102
  • 博文数量: 752
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(752)

文章存档

2011年(1)

2008年(751)

我的朋友

分类:

2008-10-13 16:52:35


1、在 2005 年一月刊的 MSDN 杂志文章中,你有一个例子程序的代码是用混合模式编写的。有没有可能动态加载 .NET 类或 DLL 并调用那些函数呢?假设我有一个本机 C++ 应用程序,我想允许用户在 .NET 中为该 C++ 程序编写插件。就像在 .NET 中使用 LoadLibrary 加载 DLLs 一样。 Ravi Singh 2、我正在用 Visual C++ 6.0 编写一个插件应用,它是一个 DLL,输出和接收纯虚拟接口指针。加载 DLL 后,EXE 便调用 DLL 中输出的 C 函数,该函数返回一个纯虚拟接口指针。然后 EXE 调用该接口上的方法,有时会传回另一个接口指针给 DLL 处理。   目前有人要求必须用 C#,Visual Basic .NET 和其它语言编写插件。我没有什么基于 .NET 的编程经验,不懂托管和非托管代码之间的通讯问题,我找到许多有关这方面的信息,但是越看越糊涂。我如何才能让用户编写基于.NET 语言的插件?

[文档属性] VC.NET个人专栏译文[中文]
[文档作者] Paul DiLascia
[更新日期] 2005-9-27 19:36:00
[浏览次数] 17243


--------------------next---------------------

上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。 着好复杂呀......呵呵,其实简单的紧:(注1) 1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。 也就是说可以有多个发生“事件”的源头。上图就有3个连接点; 2、管理这些连接点的接口叫“连接点容器”(IConnectionPointContainer)。 连接点容器接口特别简单,因为只有2个函数,一个是 FindConnectionPoint(),表示查找你想要的连接点;另一个是 EnumConnectionPoints(),表示列出所有的连接点,然后你去选择使用哪个。在实际的应用中,查找法使用最多,占90%,而枚举法使用只占 10%,一般在支持第三方的插件(Plug in)时才使用。(你想写个 IE 的插件吗?我们后面就要讲到啦) 3、每一个连接点,可以被多个客户端的接收器(Sink)连接; 这个我们已经熟悉啦,还记得我们在上回书中为了管理多个回调接口,使用了 cookie 的方式进行区别吗?!

[文档属性] VC.NET个人专栏原创文档[中文]
[文档作者] 杨老师
[更新日期] 2005-9-20 12:46:00
[浏览次数] 20560


--------------------next---------------------

上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。 着好复杂呀......呵呵,其实简单的紧:(注1) 1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。 也就是说可以有多个发生“事件”的源头。上图就有3个连接点; 2、管理这些连接点的接口叫“连接点容器”(IConnectionPointContainer)。 连接点容器接口特别简单,因为只有2个函数,一个是 FindConnectionPoint(),表示查找你想要的连接点;另一个是 EnumConnectionPoints(),表示列出所有的连接点,然后你去选择使用哪个。在实际的应用中,查找法使用最多,占90%,而枚举法使用只占 10%,一般在支持第三方的插件(Plug in)时才使用。(你想写个 IE 的插件吗?我们后面就要讲到啦) 3、每一个连接点,可以被多个客户端的接收器(Sink)连接; 这个我们已经熟悉啦,还记得我们在上回书中为了管理多个回调接口,使用了 cookie 的方式进行区别吗?!

[文档属性] VC个人专栏原创文档[中文]
[文档作者] 杨老师
[更新日期] 2005-9-20 12:44:00
[浏览次数] 25076


--------------------next---------------------

阅读(300) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~