继续讨论如何在VB中操作VC控件接口中定义的VARIANT*参数
问 题: 请问如何在VB中操作VC控件接口中定义的VARIANT*参数
作 者: nawu (那五)
等 级:
信 誉 值: 100
所属论坛: VC/MFC ATL/ActiveX/COM
问题点数: 20
回复次数: 7
发表时间: 2002-4-3 11:27:27
例如在VC中
void CMyTestCtrl::GetBuf(VARIANT FAR* buf)
{
CString str="wuxx";
if(buf->vt==VT_BSTR);
buf->bstrVal=str.AllocSysString();
// TODO: Add your dispatch handler code here
}
在VB中调用时
Dim stra As String
MyTest1.GetBuf stra
VB运行时出现类型不匹配的问题
请问如何解决
回复人: bill1212(Bill) ( ) 信誉:100 2002-4-3 13:06:21 得分:0
这样吧
Dim stra
MyTest1.GetBuf stra
Top
回复人: nawu(那五) ( ) 信誉:100 2002-4-3 13:53:41 得分:0
我VB不太熟悉
那么我如何在VB中把VARIANT变量转为BSTR类型
如果我的str是个数组,就只能他把定义为VARIANT了
Top
回复人: earthdog(Earthdog) ( ) 信誉:100 2002-4-3 23:38:05 得分:0
你可以在VB中直接象用BSTR一样的使用VARIANT啊,VB会自动实现这种转换的。
Top
回复人: nawu(那五) ( ) 信誉:100 2002-4-4 18:57:03 得分:0
但是确实是出现类型不匹配的问题
无法把String 按应用和VARIANT FAR* buf相互转化
Top
回复人: fftongzhi(程序员也爱家) ( ) 信誉:100 2002-4-5 13:12:51 得分:20
dim data as variant
Dim stra As String
MyTest1.GetBuf data
stra=data
Top
回复人: nawu(那五) ( ) 信誉:100 2002-4-5 13:50:25 得分:0
非常感谢 fftongzhi(程序员也爱家)
呵呵还是我水平不够..
Top
回复人: musuwang(musu) ( ) 信誉:100 2002-10-17 18:14:00 得分:0
等一等。为什么 winsock控件却能直接使用 string 传给VARIANT* 如下:
dim mystr as string
wisock1.GetData mystr