• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 使用atl的mts组件,碰到的一些问题

使用atl的mts组件,碰到的一些问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了atl组件,atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 使用atl的mts组件,碰到的一些问题
描述:

大家好,我使用了atl的mts组件向导,做了一个组件,在这个组件里,有一个接口,接口功能为由客户的卡号,可以知道客户的基本信息。在这个接口里只有一个函数GetBuCustID([in ,string]Bstr strCardNumber,[out ,retval]LPDISPACH *ppRecordset)
这个函数我是这样实现的,
STDMETHODIMP CCDataSource::GetByCustID(BSTR strCustID, LPDISPATCH *ppRecordset)
{
// TODO: Add your implementation code here
    HRESULT hr=S_OK;
try
{
       _ConnectionPtr pObjADO_Connection;
   pObjADO_Connection.CreateInstance(__uuidof(Connection));
   bstr_t strFileDSN=L"FILEDSN=lht.dsn";
   hr=pObjADO_Connection->Open(strFileDSN,(BSTR)NULL,(BSTR)NULL,-1);
   basic_stringstream<wchar_t> strSQLStatement;
   strSQLStatement<<L"select * from table1"<<ends;
   bstr_t strSQLStmt=strSQLStatement.str().c_str();
   variant_t vntRecordsAffected;
   _RecordsetPtr pObjADO_Recordset;
   pObjADO_Recordset=pObjADO_Connection->Execute(strSQLStmt,&vntRecordsAffected,
   adCmdText);
   pObjADO_Recordset->QueryInterface(IID_IDispatch,(void **)ppRecordset);
}
catch(_com_error &e)
{
LPVOID lpMsgBuf;
hr=e.Error();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|
FORMAT_MESSAGE_FROM_SYSTEM,NULL,hr,
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf,0,NULL);
AtlReportError(CLSID_CDataSource,(LPCOLESTR)lpMsgBuf,
IID_ICDataSource,hr);
LocalFree(lpMsgBuf);
}
return hr;
}
这个组件完成了之后,我想调试一下,又建了一个mfc appwizard(exe),我建了一个对话框,在这里放上一个按钮button1,然后关于onbutton1(),又写了以下的程序
void CTestadoDlg::OnButton1() 
{
HRESULT hr=S_OK;
//try{
        Idb_Data1Ptr pObj;
        pObj.CreateInstance(__uuidof(Idb_Data1));
        wstring wstr=L"211218";
        _bstr_t bstr=wstr.c_str();
//bstr=::SysAllocString(str);
_RecordsetPtr rec;
hr=pObj->GetByCustID(bstr,rec);
        
}
编译错误:error C2664: 'GetByCustID' : cannot convert parameter 2 from 'class _com_ptr_t<class _com_IIID<struct ADODB::_Recordset,&struct __s_GUID  _GUID_00000556_0000_0010_8000_00aa006d2ea4> >' to 'struct IDispat
ch ** '
我编的程序有错误吗,该如何改,我的那个组件是抄的,肯定是对的


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 谁能帮我看一下关于ATL编写COM组件
  • 怎样用ATL写一个含有其它组件的进程外COM
  • 如何在ATL的COM组件里为MFC的MDI程序创建一个MDI子窗口?
  • 采用ATL写的COM组件,Debug没问题,Release就出问题了。
  • ATL能不能继承VB编写的COM组件再封装成COM组件?
  • 用ATL写的COM组件在VC里怎样使用?!
  • 用ATL编写COM组件,如何操作DATE类型
  • 写ATL组件时发现一个难以理解的问题?
  • 关于ATL组件用web方式调用,我遇到一个小问题,请帮忙指点一下
  • 为何我用ATL开发的com组件在release版编译后出问题

相关文章

  • 2017-06-05 MFC操作excel大批量写入数据的时候excelexe进程随着写入数据的增多占用内存变大
  • 2017-06-05 每次运行出错
  • 2017-06-04 vc操作access2000,即函数OpenReport异常
  • 2017-06-05 高手请回答,,,,,,
  • 2017-06-04 谁能给我一个DirectInput的源代码!!!!
  • 2017-06-04 com接口参数可以使用stl吗,函数内部可以使用stl吗
  • 2017-06-05 请问WaitForSingleObject有什么作用?
  • 2017-06-05 同一进程内线程数据共享问题?
  • 2017-06-04 ocx中如何画出button
  • 2017-06-04 regsvr32注册组件是不是就只是简单的调用组件DLL中的RegisterServer这个导出函数?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ITypeInfo::GetDocumentation方法参数的问题?
    • 谁有用vc获取过outlookexpress中的telephonenumer和mobilenumber的?
    • 我想通过dcom将服务器上的一个文件传到客户端?
    • 输入法编程:有经验的进来指教一二吧!(500分相送)
    • 网页刷新时OCX有时OnCreate未调用
    • 简单的如何杀死一个线程(启动一个线程,在没有做完的时候想终止这个闲扯)
    • atl中如何改写MFC的类,包括类的成员函数和成员变量,特别是类的继承问题如何解决?
    • 我下载了dsoframer23的源码想生成个编译后的OCX文件,编译时出下面错,请问如果编译才能成功编译通过?
    • 有一段代码,VC6可以编译,在VC7下面报错误
    • 请问如何调试一个程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有