ADO编程中ATL所遇到的定义问题

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

当欲向接口中定义方法如下:[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;

};

};

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航