当前位置: 首页 > news >正文

企业网站 免费邯郸专业做网站哪里有

企业网站 免费,邯郸专业做网站哪里有,中国娱乐公司三大巨头,网站开发计划书封面设计一、前言  1、与 《COM 组件设计与应用(五)》的内容基本一致。但本回讲解的是在 vc.net 2003 下的使用方法#xff0c;即使你不再使用vc6.0#xff0c;也请和上一回的内容#xff0c;参照比对。   2、这第一个组件#xff0c;除了所有 COM 组件必须的 IUnknown 接口外即使你不再使用vc6.0也请和上一回的内容参照比对。   2、这第一个组件除了所有 COM 组件必须的 IUnknown 接口外我们再实现一个自己定义的接口 IFun它有两个函数 Add()完成两个数值的加法Cat()完成两个字符串的连接。   3、下面......好好听讲! 开始了:-) 二、建立 ATL 工程   步骤2.1建立一个解决方案。   步骤2.2在 该解决方案中新建一个 vc 的 ATL 项目。示例程序叫 Simple2并选择DLL方式见图一、图二。 图一、新建 ATL 项目 图二、选择非属性化的DLL组件类型   属性化 属性化编程是未来的方向但我们现在先不要选它。   动态链接库(DLL) 选择它。   可执行文件(EXE) 以后再讲。   服务(EXE) 表示建立一个系统服务组件程序系统启动后就会加载并执行的程序。   允许合并代理/存根(stub)代码 选择该项表示把“代理/存根”代码合并到组件程序中否则需要单独编译单独注册代理存根程序。代理/存根这个是什么概念还记得我们在上回书中介绍的吗当调用者调用进程外或远程组件功能的时候其实是代理/存根负责数据交换的。关于代理/存根的具体变成和操作以后再说啦......   支持 MFC 除非有特殊的原因我们写 ATL 程序最好不要选择该项。你可能会说如果没有MFC的支持那CString怎么办呀告诉你个秘密吧一般人我都不告诉他我后半辈子就靠着这个秘密活着了   1、你会STL吗可以用 STL 中的 string 代替   2、自己写个 MyString 类嘿嘿   3、悄悄地、秘密地、不要告诉别人特别是别告诉微软把 MFC 中的 CString 源码拿过来用   4、使用 CComBSTR 类至少也能简化我们字符串操作   5、直接用 API 操作字符串反正我们大家学习 C 语言的时候都是从这里干起的。等于没说呵呵   支持 COM 1.0 支持事务处理的 COM 功能。COM 也许在第 99 回介绍吧。三、添加 ATL 对象类   步骤3.1菜单项目\添加类...或者用鼠标右键在 项目中弹出菜单添加\添加类...并选择 ATL 简单对象。见图三。 图三、选择建立ATL简单对象   除了简单对象(只实现了 IUnknown 接口)还可以选择“ATL控件”(ActiveX实现了10多个接口)......可以选择的组件对象类型很多但本质上就是让向导帮我们默认加上一些接口。在以后的文章中陆续介绍吧。   步骤3.2增加自定义类 CFun(接口 IFun) ,见图四。 图四、填写名称   其实我们只需要输入简称其它的项目会自动填写。没什么多说的只请大家注意一下 ProgID 项默认的 ProgID 构造方式为“项目名.简称名”。   步骤3.3填写接口属性选项见图 五。 图五、接口选项   线程模型 COM 中的线程我认为是最讨厌最复杂的部分。COM 线程和公寓的概念留待后续介绍。现在吗......大家都选单元(Apartment)它代表什么那简单地说当在线程中调用组件函数的时候这些调用会排队进行。因此这种模式下我们可以暂时不用考虑同步的问题。(注1)   接口。双重(Dual)这个非常 非常重要非常非常常用但我们今天不讲(注2)。切记切记我们的这第一个 COM 程序中一定要选择“自定义”如果你选错了请删除全部内容重新来过。   聚合 我们写的组件将来是否允许被别人聚合(注3)使用。“只能创建为聚合”有点类似 C 中的纯虚类你要是总工程师只负责设计但不亲自写代码的话才选择它。   ISupportErrorInfo 是否支持丰富信息的错误处理接口。以后就讲。   连接点 是否支持连接点接口事件、回调。以后就讲。   IObjectWithSite 是否支持IE的调用四、添加接口函数 图六、调出增加接口方法的菜单 图七、增加接口函数 Add   请按照图示的方法增加Add()函数增加Cat()函数 。[in]表示参数方向是输入[out]表示参数方向是输出[out,retval]表示参数方向是输出同时可以作为函数运算结果的返回值。一个函数中可以有多个[in]、[out]但[retval]只能有一个并且要和[out]组合后在最后一个位置。(注4) 图八、接口函数定义完成后的图示   我们都知道要想改变 C 中的类函数需要修改两个地方一是头文件(.h)中类的函数声明二是函数体(.cpp)文件的实现处。而我们现在用 ATL 写组件程序则还要修改一个地方就是接口定义(IDL)文件。别着急 IDL 下次就要讨论啦。五、实现接口函数   鼠标双点图八中CFun\基项和接口\Add(...)就可以开始输入函数实现了 STDMETHODIMP CFun::Add(long n1, long n2, long *pVal) {*pVal n1 n2;return S_OK; } 这个太简单了不再浪费“口条”。下面我们实现字符串连接的Cat()函数 STDMETHODIMP CFun::Cat(BSTR s1, BSTR s2, BSTR *pVal) {int nLen1 ::SysStringLen( s1 ); // s1 的字符长度int nLen2 ::SysStringLen( s2 ); // s2 的字符长度*pVal ::SysAllocStringLen( s1, nLen1 nLen2 );// 构造新的 BSTR 同时把 s1 先保存进去if( nLen2 ){::memcpy( *pVal nLen1, s2, nLen2 * sizeof(WCHAR) ); // 然后把 s2 再连接进去 // wcscat( *pVal, s2 );}return S_OK; } 学生上面的函数实现完全是调用基本的 API 方式完成的。 老师是的说实话的确比较烦琐。 学生我们是用memcpy()完成连接第二个字符串功能的那么为什么不用函数 wcscat()那 老师多数情况下可以但你需要知道由于BSTR包含有字符串长度因此实际的BSTR字符串内容中是可以存储L\0的而函数 wcscat() 是以L\0作为复制结束标志因此可能会丢失数据。明白了吗 学生明白明白。我看过《COM 组件设计与应用(三)之数据类型》后就明白了。那么老师有没有简单一些的方法那 老师有呀你看...... STDMETHODIMP CFun::Cat(BSTR s1, BSTR s2, BSTR *pVal) {CComBSTR sResult( s1 );sResult.AppendBSTR( s2 );*pVal sResult.Copy(); // *pVal sResult.Detach();return S_OK; } 学生哈哈好使用了 CComBSTR这个就简单多了。CComBSTR::Copy()和CComBSTR::Detach()有什么区别 老师CComBSTR::Copy() 会制造一个 BSTR 的副本另外CComBSTR::CopyTo()也有类似功能。而CComBSTR::Detach()是使对象与内部的 BSTR 指针剥离这个函数由于没有复制过程因此速度稍微快一点点。但要注意一但剥离后就不能再使用该对象啦。 学生老师您讲的太牛啦我对您的敬仰如巍巍泰山直入云霄...... 老师STOPSTOP留作业啦......   1、自己先按照今天讲的内容写出这个组件   2、不管你懂不懂一定要去观察 IDL 文件CPP 文件   3、编译后看都产生了些什么文件如果是文本的文件就打开看看   4、下载本文的示例程序(vc.net 2003版本)编译运行看看效果。然后预习一下示例程序中的调用方法 学生知道啦快下课吧我要上厕所我都憋的不行了...... 老师下课别忘了顶我的帖子呀......六、小结   本回介绍第一个ATL组件程序的建立步骤而如何使用该组件 转载于:https://blog.51cto.com/rosehacker/450310
http://wiki.neutronadmin.com/news/280671/

相关文章:

  • 公司建设网站怎么做账微信微网站建设平台
  • 网站建设 制作教程 pdf求个网站好人一生平安
  • 建立网站的准备工作南京模板建站哪家好
  • 杭州建设工程交易中心网站微信公众号怎样发布wordpress
  • 利用js做简单的网站iis默认网站删除
  • 做盗版电影网站手机网页设计网站建设
  • 做旅游业务的商业网站使用flashfxp上传网站
  • 中国最牛的央企排名安卓优化大师官网下载
  • 企业网站推广解决方案有没有免费的写文案的软件
  • 淘宝网站建设的详细策划wordpress 登录链接
  • h5哪个网站可以做1688做网站难吗
  • 杭州网站商场开发户外产品销售公司网站建设
  • 公司网站建设方案详细方案大型购物网站建设费用
  • 南宁网站建设速成培训班浙江网站设计公司
  • 家具网站建设规划书无极招聘信息网
  • 网站建设与推广的销售北京做网站的公司拟
  • 建设银行官网首页网站购纪念币ueditor for wordpress
  • 免费的网站推广重庆网站建设坤思特
  • 网站价值 批量查询花生壳免费域名注册
  • 东盟建设投资有限公司网站顺企网怎么样
  • 网站建设需要经过哪几个步骤关键词优化推广策略
  • 基层建设检索网站wordpress文章密码爆破
  • 网站栏目类型做网站用什么颜色好
  • 公司网站建设服务机构wordpress 手机 重定向 子目录
  • 做网站要注意哪些企业网站开发环境
  • 推荐网站建设服务器wordpress qq登入设置
  • 做百度移动端网站软件下载舟山网站建设开发
  • 专做眼镜的网站建设厅官方网站
  • 官网网站怎么做wordpress主题 可爱
  • 外贸网站建设浩森宇特wordpress邮件发文章