CComVariant vBodyArr;
long i = -1;
SAFEARRAY* psaBody = V_ARRAY(&vBodyArr);
LPDISPATCH* pBodyDispArray = NULL;
long nBodyHighIndex = -1;
long nBodyCount = -1;
hr = SafeArrayAccessData(psaBody, (void **) &pBodyDispArray);
ASSERT(NULL != pBodyDispArray);
hr = SafeArrayGetUBound(psaBody, 1, &nBodyHighIndex); nBodyCount = nBodyHighIndex + 1;
for (i = 0; i < nBodyCount; i++)
{
CComQIPtr <IBody2> pBody;
pBody = pBodyDispArray[i];
ASSERT(pBody);
hr = pBody->Select(VARIANT_TRUE, 0, &bRet);
ASSERT(bRet);
pBody.Release();
}
// Unaccess & destroy the component SafeArray
hr = SafeArrayUnaccessData(psaBody);
hr = SafeArrayDestroy(psaBody);
long i = -1;
SAFEARRAY* psaBody = V_ARRAY(&vBodyArr);
LPDISPATCH* pBodyDispArray = NULL;
long nBodyHighIndex = -1;
long nBodyCount = -1;
hr = SafeArrayAccessData(psaBody, (void **) &pBodyDispArray);
ASSERT(NULL != pBodyDispArray);
hr = SafeArrayGetUBound(psaBody, 1, &nBodyHighIndex); nBodyCount = nBodyHighIndex + 1;
for (i = 0; i < nBodyCount; i++)
{
CComQIPtr <IBody2> pBody;
pBody = pBodyDispArray[i];
ASSERT(pBody);
hr = pBody->Select(VARIANT_TRUE, 0, &bRet);
ASSERT(bRet);
pBody.Release();
}
// Unaccess & destroy the component SafeArray
hr = SafeArrayUnaccessData(psaBody);
hr = SafeArrayDestroy(psaBody);
解决方案 »
- 在一个控制台里怎么实现form1.show
- 想请问delphi 7 企业版多大? 2cd ?
- fastreport中如何实现如下打印功能
- 求合作软件开发,一个数据库程序的开发。有意者请与我联系。
- 为什么动态创建一个pardox数据表以后,再执行这个操作的话,总是提示表:busy?
- DBLookupComboBox问题
- 关于Form的问题???
- ******超菜的问题,怎么在stringgrid中删除一行?********
- 高手来帮忙看看~ 查询字符串的问题
- 请问谁知道哪里有象OICQ里的分组控件,DELPHI用的。
- 急!混音算法或者对mmtools控件熟练。现金支付
- 通信时怎么知道对方没有断开连接
pBodyDispArray是IBody2数组指针
其他貌似很容易翻译
这种变量定义在Delphi里面怎样表示呢?
LPDISPATCH* pBodyDispArray = NULL; 这句定义pBodyDispArray 是一个指针, 但在pBody = pBodyDispArray[i];这句就自动变成数组了, 这种在Delphi里面又怎样表示啊? C++真是太灵活了.
pBody:IBody2 //以次类推pBody := pBodyDispArray;
下一条数据就是Inc(pBodyDispArray)
//////////////////////////////////
偏方不敢保证成功
var
pBodyDispArray:array of IBody2;
pBody:IBody2;
begin
//不一定能被初始化
SafeArrayAccessData(psaBody, Pointer(pBodyDispArray));
....
....
//如果能成功就是数组了
pBody := pBodyDispArray[i];
....
...
end;
应该是模板,delphi很难对应吧