佚名通过本文主要向大家介绍了
我用ATL做COM,在ASP中用,为什么从COM返回给ASP的字符串有的时候不正确?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 我用ATL做COM,在ASP中用,为什么从COM返回给ASP的字符串有的时候不正确?
描述:
解决方案1:
描述:
我用ATL做COM,在ASP中调用,为什么从COM返回给ASP的字符串有的时候不正确?而将COM在VB中调试,则返回的字符很正确?很奇怪的现象,有人遇到过吗?
解决方案1:
在VB,JAVA中,把定义为,[out,retval]类型的接口参数自动识别为方法的返回值。
所以调用的时候 sAnswer = Obj.GetAnswer(sQuestion) 就可以了
ATL的全称是什么呀,难道主要是用来作COM的?
解决方案3:谢谢Yaoling(Sophie);)
解决方案4: dim sAnswer,sQuestion
Set Obj=Server.CreateObject("GetAnswerCom.GetAnswer")
sAnswer = Obj.GetAnswer(sQuestion)
Response.Write(j)
================================
这样就可以了.
那是因为你在接口中定义中返回的数据类型不对,最好是用BSTR,因为COM的数据类型要的其他数据类型之间要有一个转换
解决方案6:尽量使用BSTR类型!