社区
ASP
帖子详情
关于asp调用atl com的写法问题
KnowLittle
2002-02-04 01:48:12
加精
我写的atl com,里面定义了[out],[out, retval]两个参数。
我用vb调试的时候,写了dim resultstr as String,作为那个不是返回值的输出,调试成功。没有问题
现在我的同事需要在asp里面调用这个接口,不能写dim .. as string,不写也不对,怎么办?
...全文
321
45
打赏
收藏
关于asp调用atl com的写法问题
我写的atl com,里面定义了[out],[out, retval]两个参数。 我用vb调试的时候,写了dim resultstr as String,作为那个不是返回值的输出,调试成功。没有问题 现在我的同事需要在asp里面调用这个接口,不能写dim .. as string,不写也不对,怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
45 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joyplay
2002-02-19
打赏
举报
回复
倒霉,怎么没早来asp看看,这么多分呀..可惜可惜...
KnowLittle
2002-02-08
打赏
举报
回复
成了,参考了comxp的写法
bstrRet->bstrVal = CComBSTR("Err_NoAuthority").Copy();
高兴!给分,谢谢所有的人,谢谢大家
xuchu
2002-02-08
打赏
举报
回复
up
KnowLittle
2002-02-08
打赏
举报
回复
bstrRet->vt = VT_BSTR;
bstrRet->bstrVal = L"Err_Exception";
直接这样写可以吗
KnowLittle
2002-02-08
打赏
举报
回复
不抱错了,但是输出不正确,不管什么,输出都是空串
KnowLittle
2002-02-08
打赏
举报
回复
你总算来了,让我试试看
lcq521wrd
2002-02-08
打赏
举报
回复
STDMETHOD(AddLine)(/*[in]*/BSTR CompanyId,/*[in]*/BSTR UserName,/*[out]*/BSTR *bstrRet,/*[out,retval]*/long *retId);
{
建议BSTR改成VARIANT类型。。。。
_variant_t varTmp;
varTmp=从数据库中取数据!
//保证varTmp取的是VT_BSTR
VariantClear(bstrRet)
VariantCopy(bstrRet,&(varTmp.Detach());
}
asp use
set obj=server.......
RetVal=obj.AddLine(CStr(CID),CStr(UN),Pam)
response.write Pam
zarz
2002-02-07
打赏
举报
回复
i see
jml_boy
2002-02-07
打赏
举报
回复
UP UP UP
acptvb
2002-02-07
打赏
举报
回复
感谢您使用微软产品。
当在ASP中用VBScript调用COM组件的方法时,如果其中的参数声明为[out],将会出现您所提到的错误。您必须把这个参数声明为VARIANT指针类型的,ASP将以引用方式传递该参数。
声明如下:[out] VARIANT* ResultStr
您可以查看以下文章解决这个问题:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q197957
微软全球技术中心 VB技术支持
立即参加微软认证的“最有价值专家”评选,赢取价值万元以上的丰富奖品!详情参见(http://www.csdn.net/expert/Topic/456/456919.shtm)
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
KnowLittle
2002-02-07
打赏
举报
回复
赫赫,我的信誉不是100,也是比较特别的嘛!!!
KnowLittle
2002-02-07
打赏
举报
回复
楼上的,谢谢
不过清仔细看看我的题目和一些回复
xtjack
2002-02-07
打赏
举报
回复
定义:
[id(1), helpstring("method getSign")] HRESULT getSign([in]BSTR srcStr,[out,retval]BSTR *destStr);
调用:
set obj=server.createobject("XXX.object")
deststr=obj.checkSign(srcStr)
set obj=nothing
这样是完全正确的,我使用了很多!
Davelu
2002-02-07
打赏
举报
回复
呵呵,我也帮忙顶吧!
希偌
2002-02-07
打赏
举报
回复
先说你的目的!
KnowLittle
2002-02-07
打赏
举报
回复
我顶
KnowLittle
2002-02-06
打赏
举报
回复
希望更多的朋友参与讨论 ,或者给出一些建议,
我知道分数没什么,关键是大家帮忙我年前完成这个冬冬,谢谢谢谢!!!!
KnowLittle
2002-02-06
打赏
举报
回复
我也觉得非常郁闷,我实在认为没什么错。
不过如果我把这个调用写成
dim ResultStr,resultId
resultId=myobj.addline(para1,para2,"")
就可以。
ComXP
2002-02-06
打赏
举报
回复
不应该出错呀,我这边就是这么用的。我把相关代码贴出来,你自己检查检查。
IDL:
[id(1), helpstring("method Register")] HRESULT Register(BSTR bsIpAddr, [out,ref]VARIANT* vRoomNo, [out,retval]long *plResult);
CPP:
STDMETHODIMP CCommander::Register(BSTR bsAddr, /*[out,ref]*/VARIANT *vRoomNo, /*[out,retval]*/long *plResult)
{
.......
*plResult = 0;
char szRoomNo[20];
......
VariantInit(vRoomNo);
vRoomNo->vt = VT_BSTR;
vRoomNo->bstrVal = CComBSTR(szRoomNo).Copy();
*plResult = 1;
return S_OK;
}
ASP:
Dim Cmd
Dim Room, result
Set Cmd = Server.CreateObject("XXX.Commander")
.....
result = Cmd.Register("1.2.3.4",Room)
if( result<>0 ) then
Response.Write Room
end if
这么做应该是没有问题的,如果不对,你就要检查其他原因了,比如是不是没有注册新的组件什么的。
KnowLittle
2002-02-06
打赏
举报
回复
to:ComXP
这个方法虽然有点奇怪,我还是试了一下,不过还是不行,依然报错
0x800a000d
加载更多回复(25)
linux下qt
调用
dll文件路径,获取DLL的文件路径以及
调用
DLL的文件路径
如何在DLL中,获取DLL本身的路径以及
调用
DLL的文件的路径呢?主要通过GetModuleFileName(HMODULEhModule,LPTSTR lpFilename,DWORD nSize)函数来获取,根据hModule参数来辨别是DLL本身还是DLL的
调用
者。当hModule 为NULL时候 获取到路径为
调用
者,当hModule为main入口的BOOL APIENTRY DllMain...
如何增强
ASP
程序性能
如何增强
ASP
程序性能 ---摘自《天极网》简介 性能是一个很重要的特征。你需要事先设计好性能指标,否则日后就要为此重新编写程序。就是说:要设想好怎样最佳化地执行
ASP
程序? 本文提出了一些优化
ASP
应用和VBScript的技巧,许多技巧和缺陷都经过了研讨。这里列出的建议已经在http://www.microsoft.
com
和其他站点上进行了测试,都工作得非常好。本文假设你具备A
C++ Standard Library/std/STL/
ATL
/WTL的区别与联系
0. Standard Library C++标准库,C++ Standard Library,是类库和函数的集合,其使用核心语言写成,由c++标准委员会制定,并不断维护更新。 简单的来说除了支持文件之外C++ 标准库主要包含了三个部分:C 标准库的 C++ 版本;C++ IO 库;C++ STL C++标准库的内容基本可以分以下为10类。
用VC++6.0制作
ASP
服务器控件简介
用
ASP
写网页的程序员,一定对VBSript语句“Set Conn=Server.Object(‘ADODB.Connection’)”非常熟悉。该语句是利用
ASP
的Server对象创建了一个数据库控件,它提供了一系列的方法和属性,可以帮助我们在
ASP
中方便的实现数据库的操作。类
com
编程入门(转自C++ Builder研究)
本文的目的是为刚刚接触
COM
的程序员提供编程指南,并帮助他们理解
COM
的基本概念。内容包括
COM
规范简介,重要的
COM
术语以及如何重用现有的
COM
组件。本文不包括如何编写自己的
COM
对象和接口。
COM
即组件对象模型,是
Com
ponent Object Model 取前三个字母的缩写,这三个字母在当今Windows的世界中随处可见。随时涌现出来的大把大把的新技术都以
COM
为基础。各
ASP
28,406
社区成员
356,946
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章