資源簡介
VB調(diào)用VC寫的DLL返回數(shù)組,里面有VC,VB 及DLL源碼
代碼片段和文件信息
#include?“Dll2.h“
?extern?“C“?__declspec(dllexport)??int?_stdcall?add(int?aint?b)
{
return?a+b;
}
extern?“C“?__declspec(dllexport)?int?_stdcall?subtract(int?aint?b)
{
return?a-b;
}
extern?“C“?__declspec(dllexport)?long?_stdcall?mul(int?aint?b)
{
return?a*b;
}
extern?“C“?__declspec(dllexport)?long?_stdcall?divide(long?along?b)
{
return?a/b;
}
extern?“C“?__declspec(dllexport)?VARIANT?_stdcall?GetBuffer(void)
{
BYTE?buf[256];
for(int?j=0;j<256;j++)
{
buf[j]=j;
}
VARIANT?varRet;
VariantInit(&varRet);
SAFEARRAY?*psa;
SAFEARRAYBOUND?rgsabound[1];
rgsabound[0].cElements?=256;
rgsabound[0].lLbound?=?0;
psa?=?SafeArrayCreate(VT_UI11rgsabound);
for(long?i=0;i<256;i++)??????????
{
SafeArrayPutElement(psa&i&buf[i]);
}
varRet.vt?=?VT_ARRAY|VT_UI1;
varRet.parray?=?psa;
return?varRet;
}
extern?“C“?__declspec(dllexport)?VARIANT?_stdcall?GetArray(void)
{
/*
BYTE?buf[256];?
for(int?j=0;j<256;j++)
{
???? buf[j]=j;
}
*/
VARIANT?varRet;
VariantInit(&varRet);
SAFEARRAY?*psa;
SAFEARRAYBOUND?rgsabound[1];
rgsabound[0].cElements?=256;
rgsabound[0].lLbound?=?0;
BYTE?buf[255]={0123456789101112131415161718192021};
psa?=?SafeArrayCreate(VT_UI11rgsabound);
for(long?i=0;i<256;i++)??????????
{
SafeArrayPutElement(psa&i&buf[i]);
}
varRet.vt?=?VT_ARRAY|VT_UI1;
varRet.parray?=?psa;
return?varRet;
}
/*
使用SafeArrayAccessData直接讀寫SafeArray的緩沖區(qū):
(1)讀緩沖區(qū):
BYTE?*buf;
SafeArrayAccessData(varChunk.parray?(void**)&buf);
f.Write(buflIsRead);
SafeArrayUnaccessData(varChunk.parray);
(2)寫緩沖區(qū):
BYTE?*buf;
::SafeArrayAccessData(psa?(void**)&buf);
for(longindex=0;index {
????buf[index]=bVal[index];?
}
::SafeArrayUnaccessData(psa);
varChunk.vt?=?VT_ARRAY|VT_UI1;
varChunk.parray?=?psa;
這種方法讀寫SafeArray都可以,它直接操縱SafeArray的數(shù)據(jù)緩沖區(qū),比用SafeArrayGetElement和SafeArrayPutElement速度快。特別適合于讀取數(shù)據(jù)。但用完之后不要忘了調(diào)用::SafeArrayUnaccessData(psa),否則會出錯的。
*/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????32256??2014-04-21?11:30??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\C++使用VARIANT實現(xiàn)二維數(shù)組的操作.doc
?????文件?????225376??2014-04-21?11:33??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll2.dll
?????文件????????974??2014-04-15?13:59??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll2.exp
?????文件?????267612??2014-04-15?13:59??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll2.ilk
?????文件???????2560??2014-04-15?13:59??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll2.lib
?????文件?????225376??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.dll
?????文件???????1095??2014-04-21?12:34??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.exp
?????文件?????271772??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.ilk
?????文件???????2758??2014-04-21?12:34??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.lib
?????文件??????16809??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.obj
?????文件????3546480??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.pch
?????文件?????664576??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\Dll2.pdb
?????文件?????140288??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\vc60.idb
?????文件??????86016??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Debug\vc60.pdb
?????文件???????2149??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.cpp
?????文件?????????72??2014-04-21?12:10??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.def
?????文件?????225376??2014-04-21?11:33??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.dll
?????文件???????4127??2014-04-21?12:06??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.dsp
?????文件????????531??2005-03-19?10:18??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.dsw
?????文件????????454??2014-04-21?12:07??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.h
?????文件??????66560??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.ncb
?????文件??????53760??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.opt
?????文件???????1183??2014-04-21?15:09??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.plg
?????文件????1278541??2014-04-21?11:33??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll2.rar
?????文件????2548627??2014-04-21?12:34??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Dll21\Dll21.rar
?????文件?????229888??2014-04-21?09:12??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\DLL里可以把BYTE以SAFEARRAY的方式用VARIANT存起來當(dāng)成返回值,C#調(diào)用的時.doc
?????文件???????3101??2014-04-21?11:43??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Form1.frm
?????文件????????518??2014-04-21?11:08??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Module1.bas
?????文件????????193??2010-12-20?17:17??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\MSSCCPRJ.SCC
?????文件??????24576??2014-04-21?10:47??VB調(diào)用VC寫的DLL返回數(shù)組V1.03\Project1.exe
............此處省略50個文件信息
- 上一篇:個人資料管理工具VB20191226.zip
- 下一篇:HART通訊測試軟件.rar
評論
共有 條評論