- 博客(32)
- 收藏
- 关注
转载 引:COM线程模型详解
COM线程模型详解本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的 线程模型是一种数学模型,专门针对多线程编程而提供的算法,但也仅是算法,不是实现。本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的,就像说明Windows是如何实现线程这个数学模型的一样,最后指明一下跨套间调用和各种类型套间编写的要求以帮助理解。希望读者对于Wind
2007-08-13 09:38:00
418
原创 调试信息。
TRACECOM中怎么用TRACE:ATLTRACE如:ATLTRACE( L"This is a TRACE statement/n" );RETAILMSG打到串口上RETAILMSG(1, (TEXT("ERROR: Probe: EISA Number Error./r/n")));对应DEBUGMSG和它使用功能一样。注意使用于release和debug版本中。
2007-06-18 16:10:00
383
转载 COM组件设计与应用(十八)——属性包
COM组件设计与应用(十八)——属性包 作者:杨老师下载源代码 一、前言 书接上回,本回着落在介绍属性包 IPersistPropertyBag 接口的实现方法和调用方式。属性包,是以“名称 - 值”的方式提供组件持续性的支持,而“名称 - 值”恰恰又适合于用文本方式来表现。下面的片段是在 HTML 中插入 Microso
2007-05-23 14:51:00
504
转载 COM 组件设计与应用(十七)——持续性
COM 组件设计与应用(十七)——持续性 作者:杨老师下载源代码 一、前言 我们写程序,经常需要实现这样的需求: 例一、程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置,以便下次运行时保持位置不变; 例二、由于程序运行时间很长,今天执行一部分,明天继续执行。那么在下次运行前要恢复前次的状态; .
2007-05-23 14:49:00
445
转载 COM 组件设计与应用(十五)——连接点(vc6.0)
COM 组件设计与应用(十五)——连接点(vc6.0) [ 录入者:it3650 | 时间:2006-09-09 19:47:53 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:46:00
826
转载 COM 组件设计与应用(十六)——连接点(vc.net)
COM 组件设计与应用(十六)——连接点(vc.net) [ 录入者:it3650 | 时间:2006-09-09 19:47:54 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:46:00
499
转载 COM组件设计与应用(十四)——事件和通知(vc.net)
COM组件设计与应用(十四)——事件和通知(vc.net) [ 录入者:it3650 | 时间:2006-09-09 19:47:52 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:36:00
501
转载 COM组件设计与应用(十三)——事件和通知(VC6.0)
COM组件设计与应用(十三)——事件和通知(VC6.0) [ 录入者:it3650 | 时间:2006-09-09 19:47:51 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:35:00
707
转载 COM组件设计与应用(十二)——错误与异常处理
COM组件设计与应用(十二)——错误与异常处理 [ 录入者:it3650 | 时间:2006-09-09 19:47:50 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:33:00
405
转载 COM 组件设计与应用(十一)—— IDispatch 及双接口的调用
COM 组件设计与应用(十一)—— IDispatch 及双接口的调用 [ 录入者:it3650 | 时间:2006-09-09 19:47:50 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:28:00
695
转载 COM 组件设计与应用(十)——IDispatch 接口 for VC.NET
COM 组件设计与应用(十)——IDispatch 接口 for VC.NET [ 录入者:it3650 | 时间:2006-09-09 19:47:48 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:27:00
543
转载 COM 组件设计与应用(九)IDispatch 接口 for VC6.0
COM 组件设计与应用(九)——IDispatch 接口 for VC6.0 [ 录入者:it3650 | 时间:2006-09-09 19:47:45 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:25:00
1034
转载 COM组件设计与应用(八) 实现多接口
COM组件设计与应用(八) 实现多接口 作者:杨老师下载源代码一、前言 从第五回开始到第七回,咱们用 ATL 写了一个简单的 COM 组件,之所以说简单,是因为在组件中,只实现了一个自定义(custom)的接口 IFun。当然如果想偷懒的话,我们可以把 200 个函数都加到这一个接口中, 果真如此的话,恐怕就没有
2007-05-23 14:16:00
426
转载 COM 组件设计与应用(七) 编译、注册、调用
COM 组件设计与应用(七) 编译、注册、调用 作者:杨老师一、前言 上两回中,咱们用 ATL 写了第一个 COM 组件程序,这回中,主要介绍编译、注册和调用方法。示例程序你已经下载了吗?如果还没有下载,vc6.0 的用户点这里,vc.net 的用户点这里。 二、关于编译 2-1 最小依赖
2007-05-23 14:14:00
538
转载 COM 组件设计与应用(六)用 ATL 写第一个组件
COM 组件设计与应用(六)——用 ATL 写第一个组件 [ 录入者:it3650 | 时间:2006-09-09 19:47:39 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:12:00
507
转载 COM 组件设计与应用(五)用 ATL 写第一个组件
COM 组件设计与应用(五)——用 ATL 写第一个组件 [ 录入者:it3650 | 时间:2006-09-09 19:47:38 | 作者:杨老师 | 来源:VC知识库 ]
2007-05-23 14:10:00
562
转载 COM组件设计与应用(四) 简单调用组件
COM组件设计与应用(四) 简单调用组件 作者:杨老师一、前言 同志们、朋友们、各位领导,大家好。 VCKBASE 不得了,
2007-05-23 14:04:00
388
转载 COM组件设计与应用(三) 数据类型
COM组件设计与应用(三) 数据类型 作者:杨老师一、前言 上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热豆腐”,孙子云:“走一步看一步吧” ...... 先掌握必要的知识,将来写起
2007-05-23 14:00:00
342
转载 COM组件设计与应用(二) GUID 和 接口
COM组件设计与应用(二) GUID 和 接口 作者:杨老师一、前言 书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后,又如何让 Ex
2007-05-23 13:59:00
379
转载 COM 组件设计与应用(一) 起源及复合文件
COM 组件设计与应用(一) 起源及复合文件 作者:杨老师一、前言 公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”(注1)有关OLE的书
2007-05-23 13:57:00
431
原创 dll 和app 在.net中的联调
1、2个工程都编译通过。2、在app工程添加dll工程的关联。 (Properties>References)3、在dll工程中复制一份dll给app工程(build events>post-build event>command line)4、打开app工程,调试就可以跟踪到2个工程中了
2007-04-29 15:03:00
303
原创 VC++:注意字符串的格式,宽字符还是短字符
在调试一个程序时,从取下来的字符串,作为参数传给一个处理程序。取下来的是unicode格式,如"123"是00 31 00 32 00 33 /0,传过去后,处理函数是短格式,结果只收到“1”的字符串。(为什么不是“”?就不知道了)后来用了字符串转换才正确。所以以后使用的时候要注意。
2007-04-29 14:52:00
381
原创 索引,知识点:Thinking in C++,函数重载与缺省参数
函数重载意味着,我们有两个库,它们都有一个同名的函数,只要它们的参数不同就不会发生冲突。【参数重载】重载函数虽然可以让我们有同名的函数,但这些函数的参数列表应该不一样。所以,为了让重载函数正确工作,编译器要用函数名来区分参数类型名。OK【参数重载】那是不行的。因为有很多时候我们只调用函数,而不关心返回值。【安全类型连接】对名字的范围分解还可以带来一个额外的好处。这就是,在C中,如果用户错误地声明了
2007-04-26 19:57:00
466
原创 索引,知识点:Thinking in C++,初始化与清除
在C + +中,初始化和清除的概念是简化类库使用的关键所在,并可以减少那些由于用户忘记这些操作而引起的许多细微错误。【构造函数】如果一个类有构造函数,编译器在创建对象时就自动调用这一函数,这一切在用户使用他们的对象之前就已经完成了。对用户来说,是否调用构造函数并不是可选的,它是由编译器在对象定义时完成的。接下来的问题是这个函数叫什么名字。这必须考虑两点,首先这个名字不能与类的其他成员函数冲突,其次
2007-04-26 19:53:00
266
原创 索引,知识点:Thinking in C++,隐藏实现
【存取控制 】p u b l i c意味着在其后声明的所有成员对所有的人都可以存取。p r i v a t e关键字则意味着,除了该类型的创建者和类的内部成员函数之外,任何人都不能存取这些成员。p r o t e c t e d与p r i v a t e基本相似,只有一点不同:继承的结构可以访问p r o t e c t e d成员,但不能访问p r i v a t e成员。【友元】friend
2007-04-23 16:58:00
325
原创 索引,知识点:Thinking in C++,数据抽象
【声明】声明常常使用于e x t e r n关键字。如果我们只是声明变量而不是定义它,则要求使用e x t e r n。对于函数声明, e x t e r n是可选的,不带函数体的函数名连同参数表或返回值,自动地作为一个声明。 【声明严格程度不一样】重要的是认识到,在C 中,引用就是函数名,通常在它们前面加上下划线。所以,连接器所要做的就是让被调用的函数名与在目标文件中的函数体匹配起来。C + +
2007-04-19 14:47:00
471
原创 面向对象 C++:基本概念3(未完成)
1.2.5 “库”使你事半功倍创建程序的最快方法是使用已经写好的代码:库。C + +的主要目标是让程序员能更容易地使用库,这是通过将库转换为新数据类型(类)来完成的。引入一个库,就是向该语言增加一个新类型。编译器负责这个库如何使用,保证适当的初始化和清除,保证函数被正确地调用,因此程序员的精力可以集中在他想要这个库做什么,而不是如何做上。因为程序的各部分之间名字是隔离的,所以程序员想用多少库就用多
2007-04-18 21:12:00
406
原创 面向对象 C++:基本概念2(未完成)
C++是较好的C 程序员必须先说明函数,使编译器能检查它们的使用情况。【C重要的是认识到,在C 中,引用就是函数名,通常在它们前面加上下划线。所以,连接器所要做的就是让被调用的函数名与在目标文件中的函数体匹配起来。如果我们偶然做了一个调用,编译器解释为f o o ( i n t ),而在其他目标文件中有f o o ( f l o a t )的函数体,连接器将认为一个_ f o o在一处而另一个_
2007-04-18 20:34:00
495
原创 面向对象 C++:基本概念1
对象:特性+行为类描述了一组有相同特性(数据元素)和相同行为(函数)的对象。继承:类型关系继承表示了基本类型和派生类型之间的相似性。一个基本类型具有所有由它派生出来的类型所共有的特性和行为。多态性当处理类型层次结构时,程序员常常希望不把对象看作是某一特殊类型的成员,而把它看作基本类型成员,这样就可以编写不依赖于特殊类型的代码。在形体例子中,函数可以对一般形体进行操作,而不关心它们是圆、正方形还是三
2007-04-18 20:18:00
606
原创 开始学习Think in C++
在工作的时候单片机,用汇编和C用的很不错 !项目管理也有经验!而且在推过流程管理(如CMM方面),对研发型组织架构也有很深刻的认识。毕竟在大公司的SEPG呆过几年,而且觉得公司流程做的还比较“实”。现在应邀出来顶技术,隔行如隔山呀!都30过头的人了! C++只在10年前看过一点,早忘光了! 嵌入式WinCE开发很多东西要学。但还是有信心的,毕竟有基础。从Think in C++学起吧!
2007-04-18 20:13:00
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人