在一个函数中定义两个局部的_bstr_t变量
_bstr_t strA = "A";
_bstr_t strB = "B";调用一个COM接口将这两个变量当做参数传入
m_pComObj->Fun(strA,strB);问题:
程序启动第一次调用这个函数时,变量strA,strB的值是正确的,分别为"A","B"。但这后再调用这个函数时这两个变量的值都为"B"。请高手指点迷津。
_bstr_t strA = "A";
_bstr_t strB = "B";调用一个COM接口将这两个变量当做参数传入
m_pComObj->Fun(strA,strB);问题:
程序启动第一次调用这个函数时,变量strA,strB的值是正确的,分别为"A","B"。但这后再调用这个函数时这两个变量的值都为"B"。请高手指点迷津。
调试情况是这两个变更内部指针指向同一个地址。
奇怪的是定义的是两个局部变量,每次调用函数都会重新定义的,但只要调用过一次COM接口函数后就会出现问题。
COM接口中返回variant类型,返回值设置的不对
result->vt = VT_BSTR;
result->bstrVal = (_bstr_t)(-14); //出错
result->bstrVal = (_bstr_t)_T(""); //正确感谢各位参与解答。