C++写的DLL,传结构给VB用
来源:百度文库 编辑:神马文学网 时间:2024/04/28 18:56:51
C++写的DLL,传结构给VB用 选择自vrix 的 Blog
关键字 C++写的DLL,传结构给VB用
出处
由于某些情况下,我们需要用CB或是VC写一个DLL,而调用它的确实VB。
这里特别强调一下使用标准数据类型的问题,就是说用C++写的东西,导出的函数最好使用标准的int,char,long,double...标准类型以及他们的指针。
很多人都强调过这个问题。但是我最近遇到一个需要VB传结构给CB做的DLL,然后数据返回到结构的情况。
typedef struct Xtest
{
char a[100];
char b[100];
}*pX;
__declspec(dllexport) void __stdcall test (*px,char *x,char *y);
void __stdcall test (*px,char *x,char *y)
{
if(strlen(x)>100) *(x+99)=‘\0‘;
if(strlen(y)>100)*(y+99)=‘\0‘;
strcpy(px->a,x);
strcpy(px->b,y);
return;
}
在VB里你要写一个同样的结构
public type Xtest
a as string*100
b as string*100
end type
public declare funciton test lib"你的DLL名字" (byref px as Xtest,byval x,byval y)
这样才可以成功,如果使用了不定长的字符串,那么很可能你的系统要崩溃,我在我这里是这样。如果有问题,请大家指正。
另外,VB声明DLL里的函数,需要DLL的名字放在 LIB后面,但是这个名字在运行时,你必须要写全路径或是放在SYSTEM32目录,即使放在VB程序所在的目录,也需要全路径。但是编译过的VB程序,可以识别放在同目录下在声明里没有写全路径的DLL。
作者Blog:http://blog.csdn.net/vrix/
关键字 C++写的DLL,传结构给VB用
出处
由于某些情况下,我们需要用CB或是VC写一个DLL,而调用它的确实VB。
这里特别强调一下使用标准数据类型的问题,就是说用C++写的东西,导出的函数最好使用标准的int,char,long,double...标准类型以及他们的指针。
很多人都强调过这个问题。但是我最近遇到一个需要VB传结构给CB做的DLL,然后数据返回到结构的情况。
typedef struct Xtest
{
char a[100];
char b[100];
}*pX;
__declspec(dllexport) void __stdcall test (*px,char *x,char *y);
void __stdcall test (*px,char *x,char *y)
{
if(strlen(x)>100) *(x+99)=‘\0‘;
if(strlen(y)>100)*(y+99)=‘\0‘;
strcpy(px->a,x);
strcpy(px->b,y);
return;
}
在VB里你要写一个同样的结构
public type Xtest
a as string*100
b as string*100
end type
public declare funciton test lib"你的DLL名字" (byref px as Xtest,byval x,byval y)
这样才可以成功,如果使用了不定长的字符串,那么很可能你的系统要崩溃,我在我这里是这样。如果有问题,请大家指正。
另外,VB声明DLL里的函数,需要DLL的名字放在 LIB后面,但是这个名字在运行时,你必须要写全路径或是放在SYSTEM32目录,即使放在VB程序所在的目录,也需要全路径。但是编译过的VB程序,可以识别放在同目录下在声明里没有写全路径的DLL。
作者Blog:http://blog.csdn.net/vrix/
C++写的DLL,传结构给VB用
用DLL实现把数据库的记录导出到EXCEL中(VB) - 应用程序 - VB教程
用BCB写软件的界面,调用VC的dll
用BCB写软件的界面,调用VC的dll
如何写 C dll 和调用它们从 Visual Basic
通过VB结构数组输入数据VC编写DLL实现图形文件
VB中创建可以输出函数的DLL
VB调用.NET DLL(一) - skila的日志 - 网易博客
给孩子的信vb
用.Net写好的DLL如何能让非.Net的程序使用呢?(如VB6)
【C++】编写动态链接库(DLL) __stdcall_【wjxgzz的博客】
CCF技术论坛 - 在VB中将数据库里的某一字段的值赋给一个变量,这个语句如何写?
VB-控件结构
在VB应用程序中调用VC环境下开发的DLL
c-vb Type
[C#/C ]C#调用非托管DLL的APIs - .NET人字拖 - 博客园
一些vb和c java 的代码收藏分享
vb写注册表
一个女生用C语言写的爱情函数
一个女生用C语言写的爱情函数
一个女生用C语言写的爱情函数
关于在C#中调用C DLL 时的参数传递
什么是DLL? Visual C 编程资料
C语言调用Dll动态链接库