我在IDL中定义连接对象的输出参数[out, retval] _ConnectionPtr* ppConn,但编译报错,如何处理?
解决方案 »
- 关于datagridview一个老问题,就是想不起以前怎么解决的
- 再问关于网络报文监听的问题(在PPPoE环境下),请epeaktop看过来
- 用性能记数器取指定进程句柄数的问题请教
- 如何在windows中用程序实现快速复制文件
- LINK : fatal error LNK1104: cannot open file 'strsafe.lib'---help!!!!!!!!
- VC++编译出现下列提示,可能是什么问题?
- 关于codeproject上一个序列化问题,看不懂!
- sos!sos!
- 继续请教微软专家!该如何控制打印的字体?
- 为什么在本机运行release中的exe有flash,但copy到另一台机子就没flash??????急急
- C++编译错误:自定义的全局struct找不到.(missing storage-class or type specifiers)
- VB中可以通过 refenerce ms word 9.0 object 来引入word对象库,在VC中如何引入?
HRESULT GetResult( [out,retval]IDispatch** ppConn );实现类头文件
STDMEDHOD GetResult(/*[out,retval]*/IDispatch** pConn);
STDMETHODIMPL CXXX::GetResult(IDispatch** ppConn)
{
*ppConn = NULL;
try
{
_ConnectionPtr pConn;
pConn.CreateInstance("ADODB.Connection");
pConn.Open(...);
pConn.AddRef();
*pConn = pCon;
}
catch(...)
{
;
}
return S_OK;
}
昨天我刚写了相同的代码
[out,retval]_Connection **cn_ConnectionPtr pConnection;
在函数里返回时写*cn = pConnection;即可但是还有其他问题
返回的_Connection在使用的时候
会出现 ADO3001错误
还希望高手指点
//helper.idl: IDL source for helper file
import "msado15.idl";// R1ADOdrsExe.idl : IDL source for R1ADOdrsExe.dll
//
import "oaidl.idl";
import "ocidl.idl";
import "helper.idl"; // import ADO thru helper IDL file
[
object,
uuid(DF009B5B-A5CB-11D2-9062-00C04FB1784D),
dual,
helpstring("Ir1DisRS Interface"),
pointer_default(unique)
]
interface Ir1DisRS : IDispatch
{
[id(1), helpstring("method getRS")] HRESULT getRS([in,optional,defaultvalue(88)] short GY, [out, retval] _Recordset **ppRS);
[propput, id(2), helpstring("property ConnString")] HRESULT ConnString([in] BSTR newVal);
[id(3), helpstring("method UpdateBat")] HRESULT UpdateBat(_Recordset *ppRS);
};[
uuid(DF009B4F-A5CB-11D2-9062-00C04FB1784D),
version(1.0),
helpstring("R1ADOdrsExe 1.0 Type Library")
]
library R1ADODRSEXELib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
importlib("c:\program files\common files\system\ado\msado15.dll"); // need ADO
[
uuid(DF009B5C-A5CB-11D2-9062-00C04FB1784D),
helpstring("r1DisRS Class")
]
coclass r1DisRS
{
[default] interface Ir1DisRS;
};
}- 微软全球技术中心 VC技术支持 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
acptvc的方法试过,但总是编译出错,认为找不到msado15.h
Erlin给你分了,谢谢