SOS:请教关于用VC++ ATL做comDLL的数组问题 hi masterz ,would u please make a example with safearray method for me based on my code above? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用VARIANT做参数用SAFEARRAY处理例: 1。输入数组到COM中 STDMETHODIMP CTestCom1::vb2vc(VARIANT buffer) { long dim=SafeArrayGetDim(buffer.parray); long ubound; long lbound; SafeArrayGetUBound(buffer.parray,dim,&ubound); SafeArrayGetLBound(buffer.parray,dim,&lbound); BSTR* buf; BSTR pd[2]; SafeArrayAccessData(buffer.parray,(void**)&buf); for (int i=lbound;i<ubound;i++) pd[i]=buf[i]; } return S_OK; } buffer为一维数组,存放字符串,在vb中的代码为 Dim oo As ARRAYTESTLib.TestCom1 Set oo = New ARRAYTESTLib.TestCom1 Dim buf(2) As String buf(0) = "65" buf(1) = "anss" oo.vb2vc buf 一个程序的输出结果? Win 7下拖拽文件问题 socket server的问题 ACTIVE 控件问题 一个运行错误:在线程中 显示一个对话框运行错误,在自定义消息中,同样语句没有运行错误。请问是怎么回事 ●●●●●●●●●有关延长线的问题,在线等待,急!!!!!!!!!!!!!●●●●●●●●● 我在做CD播放器时,遇到问题,我需要新建一个类,但是不知道用什么基类 我实在没招了,只有请教CSDN上面的大虾了!谢谢。 关于MFC消息的问题 学vc一定要看windows编程吗 希望大家提出解决方案 用visual c++写一个类似word的文本编辑器该如何做,请大家帮帮我,我有急用,拜托了!
用SAFEARRAY处理
例:
1。输入数组到COM中
STDMETHODIMP CTestCom1::vb2vc(VARIANT buffer)
{
long dim=SafeArrayGetDim(buffer.parray);
long ubound;
long lbound; SafeArrayGetUBound(buffer.parray,dim,&ubound);
SafeArrayGetLBound(buffer.parray,dim,&lbound);
BSTR* buf;
BSTR pd[2];
SafeArrayAccessData(buffer.parray,(void**)&buf);
for (int i=lbound;i<ubound;i++)
pd[i]=buf[i];
}
return S_OK;
}
buffer为一维数组,存放字符串,在vb中的代码为
Dim oo As ARRAYTESTLib.TestCom1
Set oo = New ARRAYTESTLib.TestCom1
Dim buf(2) As String
buf(0) = "65"
buf(1) = "anss"
oo.vb2vc buf