ADO编程中ATL所遇到的定义问题 
  
 
当欲向接口中定义方法如下:

[id(1), helpstring("method SearchCust")] HRESULT SearchCust([in] BSTR bstrcustid,[out,retval] _Recordset **ptr);

由于用到_Recordset类型,所以必须

importlib("C:/Program Files/Common Files/System/ADO/MSADO15.DLL");

于是整个idl文件应该改写为以下方式:

// FindCust.idl : IDL source for FindCust.dll

//

// This file will be processed by the MIDL tool to

// produce the type library (FindCust.tlb) and marshalling code.

import "oaidl.idl";

import "ocidl.idl";

[

uuid(B32A7D72-12D4-11D5-AC09-00A0247A8577),

version(1.0),

helpstring("FindCust 1.0 Type Library")

]

library FINDCUSTLib    //Library给手动提前了

{

importlib("stdole32.tlb");

importlib("stdole2.tlb");

//MODIFY HERE

importlib("C:/Program Files/Common Files/System/ADO/MSADO15.DLL");

[

object,

uuid(B32A7D7F-12D4-11D5-AC09-00A0247A8577),

dual,

helpstring("ISearch Interface"),

pointer_default(unique)

]

interface ISearch : IDispatch

{

[id(1), helpstring("method SearchCust")] HRESULT SearchCust([in] BSTR bstrcustid,[out,retval] _Recordset **ptr);

};

[

uuid(B32A7D81-12D4-11D5-AC09-00A0247A8577),

helpstring("_ISearchEvents Interface")

]

dispinterface _ISearchEvents

{

properties:

methods:

};

[

uuid(B32A7D80-12D4-11D5-AC09-00A0247A8577),

helpstring("Search Class")

]

coclass Search

{

[default] interface ISearch;

[default, source] dispinterface _ISearchEvents;

};

};

ADO编程中ATL所遇到的定义问题相关推荐

  1. 在Visual C++中用ADO进行数据库编程(中)

    在Visual C++中用ADO进行数据库编程(中)         4.执行SQL命令并取得结果记录集 为了取得结果记录集,我们定义一个指向Recordset对象的指针:_RecordsetPtr ...

  2. Attribute在.net编程中的应用

    作者:niwalker       出处:csdn SqlCommandGenerator类的设计 SqlCommandGEnerator类的设计思路就是通过反射得到方法的参数,使用被SqlComma ...

  3. 深入分析ADO.NET中的DataSet对象

    ADO.NET是.net Framework SDK中用以操作数据库的类库的总称.而DataSet类则是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触 ...

  4. 在DLL编程中调用模版类时出现的类似class“XXX”需要有 dll 接口由 class“XXX”的客户端使用的warning的解决方案...

    在DLL编程中, 如果调用模版类, 则可能出现类似以下的错误(以CString的使用为例): warning C4251: "CLogFile::m_strFileName":  ...

  5. java queryinterface_COM编程中的接口查询QueryInterface的实现原理

    我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口.但 是,QueryInterface实现的原理,并不是大家都很清楚,也没有 ...

  6. vue.js crud_ASP.NET CORE —从零到英雄学习ADO.NET中的CRUD操作

    vue.js crud ADO.NET ASP.NET Core中的CRUD操作 在此ASP.NET Core教程中,您将从一开始就学习在ADO.NET中进行CRUD操作. 本教程将帮助您学习ADO. ...

  7. c语言面向对象编程中的类_C ++中的面向对象编程

    c语言面向对象编程中的类 Object oriented programming, OOP for short, aims to implement real world entities like ...

  8. 网络编程中的关键问题总结

    网络编程中的关键问题总结 总结下网络编程中关键的细节问题,包含连接建立.连接断开.消息到达.发送消息等等: 连接建立 包括服务端接受 (accept) 新连接和客户端成功发起 (connect) 连接 ...

  9. 编程中new[]和delete[]应该如何使用?

    在平时资料中,我们常看到:new和delete,new[]和delete[]一定要配对使用!有时候不配对使用也不会出现问题.也许你也是只知其然,不知其所以然,然而我也有点懵了. 在平时资料中,我们常看 ...

最新文章

  1. JZOJ__Day 10:【普及模拟】【USACO】横幅
  2. Java生鲜电商平台-生鲜供应链(采购管理)
  3. memcached的java客户端_Memcached Java客户端
  4. Android中监听ScrollView滑动停止和滑动到底部
  5. 第五团队谷歌浏览器软件与用户体验调查与分析
  6. 拿到窗口ID,为什么画的内容没有显示出来
  7. [C++] CreateThread() 与 _beginthread() 的区别
  8. codeBook背景建模
  9. ruoyi 若依 VUE 宝塔 Nignx部署 伪静态配置
  10. 四川省科学技术奖申报条件和18市补助
  11. 有料科普 | 三峡大坝怎么过船,无用但能吹牛皮的知识又增加了
  12. JS图片显示与隐藏案例
  13. CCF论文列表(2022拟定)大更新!MICCAI空降B类!PRCV空降C类!ICLR继续陪跑...
  14. 父类的对象指向子类对象,父类可以调用子类的方法吗?
  15. 达梦数据库odbc的安装
  16. 【服务器数据恢复】LINUX误删除、误格式化的数据恢复
  17. 词云和穷爸爸、富爸爸
  18. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十五:SDHC模块
  19. 面试官常问的 web前端 问题(二)
  20. 华三路由交换配置命令_H3C的路由器配置命令详解

热门文章

  1. 教育行业视频号矩阵建设与运营策略分析报告
  2. 这些是实际面试中遇到的面试题
  3. html优先级和层叠性
  4. java中1和1.0_在Java中如何以0.1f增量在0.1f和1.0f之间进行迭代?
  5. pyqt label上的图片旋转_python中tkinter入门之config、Scale、Canvas和导入图片
  6. lisp 发凹圆角_css能实现这样的内凹圆角吗?如何实现?具体代码是!!
  7. @value 静态变量_springboot项目使用静态变量通过@Value注解获取配置文件内容
  8. 攀爬者(洛谷P5143题题解,Java语言描述)
  9. 【Java】翻转字符串中的每个单词
  10. C++ 预处理与宏相关编程(#,##等等)