会员专区切换至【手机版】
找回密码
立即注册

切换本帖至【手机版】


作者: [db:作者]
查看: 29|回复: 0

主题标签Tag

搜索
打印 上一主题 下一主题
开启左侧

网上少有的VC++之COM编程教程-天道的实地培训教程-龙天论坛网络收集整理_eD2k地址_计算机_教育下载

[复制链接]
跳转到指定楼层
楼主
[db:作者] 发表于 2018-6-7 19:40:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查看: 29|回复: 0
<
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0


注:注册可直接查看福利【ED2K & 百度云盘资源】:)如未提供百度云盘资源的请耐心下载,站长会坚持用骡子做种共享所有提供的资源,并不断将精品网盘化,有特别需要的请去本站论坛求助资源,推荐大家用百度云盘共享。
资源信息:
        网上少有的VC++之COM编程教程-天道的实地培训教程哦
http://www.lthack.com/thread-94-1-1.html
(出处: 龙天论坛_百度云论坛_百度网盘论坛_云资源_免费教程学习网-龙天论坛官)
课程的大体目录:
3.Com开发之第一个ATL程序
4.Com开发之MFC调用Com接口
5.Com开发之MFC调用Com接口
6.Com开发之MFC调用Com接口
7.Com开发之MFC调用Com接口
8.Com开发之MFC调用Com接口
9.Com开发之ATL框架详解
10.Com开发之MFC实现自动化组件
11.Com开发之脚本调用Com的双接口
12.Com开发之MFC调用IDispatch
13.Com开发之MFC调用IDispatch
14.Com开发之MFC包装类的使用
15.Com开发之错误信息处理
16.Com开发之错误信息处理
17.Com开发之错误信息处理
18.Com开发之回调事件通知
19.Com开发之回调事件通知
20.Com开发之连接点
21.Com开发之连接点
24.VB测试ADO部件
25.VB测试ADO对象
26.VC使用ADO访问数据库
27.数据库建模工具的使用
28.ADO点Net测试SQL2005数据库设计
29.ADO点Net测试SQL2005数据库设计
30.ADO点Net测试SQL2005数据库设计
31.ADO点Net测试SQL2005数据库设计
32.C++点Net基础应用视频
33.C++点Net基础应用视频
34.第一个ATLCOM编程
35.第一个ATLCOM编程
36.第一个自定义ActiveX控件
37.第一个自定义ActiveX控件
项目源代码:
贴一下
// Err.cpp : Implementation of CErr
#include "stdafx.h"
#include "FirstATL.h"
#include "Err.h"
/////////////////////////////////////////////////////////////////////////////
// CErr
STDMETHODIMP CErr::InterfaceSupportsErrorInfo(REFIID riid)
{
        static const IID* arr[] =
        {
                &IID_IErr
        };
        for (int i=0; i  spCEI;
        hr = ::CreateErrorInfo(&spCEI);
        if (!spCEI)
                return E_FAIL;
        spCEI->SetGUID(IID_IErr);  // 如果是系统定义的错误也可以使用 GUID_NULL
        LPOLESTR pProgID = NULL;
        hr = ::ProgIDFromCLSID(CLSID_Err,&pProgID);
        if (SUCCEEDED(hr) && pProgID)
        {
                spCEI->SetSource(pProgID); // 设置错误源,也就是组件的 ProgID
                ::CoTaskMemFree(pProgID);
        }
        // 上面是通用的方法,其实你当然知道正在书写的组件的 ProgID 了
        // 所以不用动态取得 ProgID 也可. 你可以这样书写
        // spCEI->SetSource( L"FirstATL.Err.1" ); ProgID 可以在 rgs 文件中看到
        // 如果你的组件同时提供了帮助文件,那么就可以:
        //        spCEI->SetHelpContext( 0 );                        // 设置帮助文件中的主题号
    //        spCEI->SetHelpFile( L"xxx.hlp" );        // 设置帮助文件的文件名
        spCEI->SetDescription( L"除数不能为0" );        // 设置错误的文字描述
        CComQIPtr  spErrInfo = spCEI;        // QueryInterface 得到 IErrorInfo
        if( spErrInfo )
                ::SetErrorInfo( 0, spErrInfo );                // 这时调用者就可以得到错误信息了
        return E_FAIL;
}
// 使用 CComCoClass::Error() 方式,便捷地设置错误信息
STDMETHODIMP CErr::Div3(long n1, long n2, long *pResult)
{
        // TODO: Add your implementation code here
        if (0==n2)
                return Error(L"除数不能为0");
        *pResult = n1 / n2;
        return S_OK;
}
解压密码:www.lthack.com
http://pan.baidu.com/share/link?shareid=1080938605&uk=3073355117
0 0

主题推广




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表