Wandering between the native & managed world

CLR/.NET 4.0开发中~~

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  22 随笔 :: 0 文章 :: 21 评论 :: 15129 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Interop

摘要:大家好!距离上次我们发布在CodePlex上的新版本TlbImp已经过了快半年了。在这半年的时间内,除了主要进行.NET 4.0相关的新功能开发之外,我们上海CLR小组也没有忘记进行TlbImp相关功能的继续开发,于今年3月9日再次发布了TlbImp的一个新版本: http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?Rel... 阅读全文
posted @ 2009-03-16 22:23 张羿 阅读(399) 评论(0) 推荐(0) 编辑

摘要:这次我主要讲RCW的原理,生命周期,引用计数,套间,System.__ComObject,事件调用原理等内容。CCW由于时间限制就不涉及了,毕竟大家还是以使用RCW为主。 感兴趣的朋友可以在下面注册: 公共语言运行库(CLR)开发系列课程(4):COM Interop进阶 (Level 300) 讲 师:张羿 课程简介:本次课程我们将介绍.NET调用COM组件上使用上的一些常见问题,特别是RC... 阅读全文
posted @ 2009-02-16 21:51 张羿 阅读(213) 评论(0) 推荐(0) 编辑

摘要:从字面上看,GetHRForException函数的作用很简单:得到Exception所对应的HRESULT的值。但是,GetHRForException还会做一件事情:设置当前线程的IErrorInfo使之指向该Exception(严格来说是获得Exception的CCW中的IErrorInfo接口指针)。如果对IErrorInfo不熟悉的朋友们可以把IErrorInfo看成COM版本的GetL... 阅读全文
posted @ 2009-01-07 23:11 张羿 阅读(188) 评论(0) 推荐(0) 编辑

摘要:使用过COM来访问.NET组件的朋友们应该都会注意到在对应注册表中有一个RuntimeVersion的键值: 这个RuntimeVersion的命名很容易让人误认为RuntimeVersion是用来指定该.NET组件所应该运行的CLR的版本号。实际上,这个键值的意思和字面上不是特别一致。如果我们考虑一个情况:首先,进程中先创建一个.NET类型的实例,RuntimeVersion标记为1.1,然后... 阅读全文
posted @ 2008-12-30 21:19 张羿 阅读(1296) 评论(0) 推荐(0) 编辑

摘要:sizeof在非Unsafe环境下只能用于预定义的一系列类型,如Int,Short等等。而在Unsafe环境下,sizeof可以被用于值类型,但是值类型中不可以有引用类型,否则C#编译器会报错: error CS0208: Cannot take the address of, get the size of, or declare a pointer to a managed type ('Si... 阅读全文
posted @ 2008-11-29 22:33 张羿 阅读(453) 评论(0) 推荐(0) 编辑

摘要:上次我们谈到了.NET 4.0中为什么要引入Type Equivalency这样一个新功能,这次我们来看一个比较简单的一个程序: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Excel; namespa... 阅读全文
posted @ 2008-11-24 23:58 张羿 阅读(2187) 评论(5) 推荐(0) 编辑

摘要:在.NET 4.0 CTP中,最引人注目的Interop的改进当属Type Equivalency,又称之为NO PIA。在介绍如何使用这个新特性之前,我觉得还是应该从历史讲起,探究我们究竟要解决什么样子的问题,过去采用了什么样的解决办法,以及这些办法都有那些问题。 在.NET中,为了访问COM对象,需要定义一系列托管的Interface、Struct、以及class。有了类型库(TypeLibr... 阅读全文
posted @ 2008-11-07 23:41 张羿 阅读(2162) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示