• 大小: 12.15MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2024-02-22
  • 语言: VB
  • 标签: DLL  

资源简介

VB调用VC写的DLL返回数组,里面有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的缓冲区:

(1)读缓冲区:
BYTE *buf;
SafeArrayAccessData(varChunk.parray (void**)&buf);
f.Write(buflIsRead);
SafeArrayUnaccessData(varChunk.parray);
(2)写缓冲区:
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的数据缓冲区,比用SafeArrayGetElement和SafeArrayPutElement速度快。特别适合于读取数据。但用完之后不要忘了调用::SafeArrayUnaccessData(psa),否则会出错的。

*/

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      32256  2014-04-21 11:30  VB调用VC写的DLL返回数组V1.03\C++使用VARIANT实现二维数组的操作.doc

     文件     225376  2014-04-21 11:33  VB调用VC写的DLL返回数组V1.03\Dll2.dll

     文件        974  2014-04-15 13:59  VB调用VC写的DLL返回数组V1.03\Dll2.exp

     文件     267612  2014-04-15 13:59  VB调用VC写的DLL返回数组V1.03\Dll2.ilk

     文件       2560  2014-04-15 13:59  VB调用VC写的DLL返回数组V1.03\Dll2.lib

     文件     225376  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.dll

     文件       1095  2014-04-21 12:34  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.exp

     文件     271772  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.ilk

     文件       2758  2014-04-21 12:34  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.lib

     文件      16809  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.obj

     文件    3546480  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.pch

     文件     664576  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\Dll2.pdb

     文件     140288  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\vc60.idb

     文件      86016  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Debug\vc60.pdb

     文件       2149  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.cpp

     文件         72  2014-04-21 12:10  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.def

     文件     225376  2014-04-21 11:33  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.dll

     文件       4127  2014-04-21 12:06  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.dsp

     文件        531  2005-03-19 10:18  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.dsw

     文件        454  2014-04-21 12:07  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.h

     文件      66560  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.ncb

     文件      53760  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.opt

     文件       1183  2014-04-21 15:09  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.plg

     文件    1278541  2014-04-21 11:33  VB调用VC写的DLL返回数组V1.03\Dll21\Dll2.rar

     文件    2548627  2014-04-21 12:34  VB调用VC写的DLL返回数组V1.03\Dll21\Dll21.rar

     文件     229888  2014-04-21 09:12  VB调用VC写的DLL返回数组V1.03\DLL里可以把BYTE以SAFEARRAY的方式用VARIANT存起来当成返回值,C#调用的时.doc

     文件       3101  2014-04-21 11:43  VB调用VC写的DLL返回数组V1.03\Form1.frm

     文件        518  2014-04-21 11:08  VB调用VC写的DLL返回数组V1.03\Module1.bas

     文件        193  2010-12-20 17:17  VB调用VC写的DLL返回数组V1.03\MSSCCPRJ.SCC

     文件      24576  2014-04-21 10:47  VB调用VC写的DLL返回数组V1.03\Project1.exe

............此处省略50个文件信息

评论

共有 条评论