Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->ViualBasic ->正文

VB调用C程序动态链接库的方法

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-05 点击: [收藏] [投稿]

WORDwDataSeg,
WORDcbHeapSize,
LPSTRlpszCmdLine)
{
if(cbHeapSize!=0)
UnlockData(0);
return1;
}
/*输出函数*/
intFARPASCALADD(intx,inty,char*filein)
{inta,b;
fp=fopen(filein,"r");
if(fp==NULL){exit(0);}
inttemp1=0,temp2=0;
fscanf(fp,"d",&a);
fscanf(fp,"d",&b);
temp1=x a;
temp2=y b;
temp1=temp1 temp2;
fclose(fp);
return(temp1);
}
/*退出函数*/
intFARPASCALWEP(int/*SystemExit*/)
{
return(1);
}
2)ADD.DEF文件的程序清单:
/*************************************/
/*文件名:ADD.H*/
/*************************************/
LIBRARYADD
DESCRIPTION'ADD.DLL'
EXETYPEWINDOWS
CODEPRELOADMOVEABLEDISCARDABLE
DATAPRELOADMOVEABLESINGLE
HEAPSIZE1024
EXPORTS
ADD@1
WEP@2
(3)ADD.H程序清单:
/*************************************/
/*文件名:ADD.H*/
/*************************************/
extern"C"int_exportFARPASCALadd(intx,inty,char*filein);
(4)建立工程文件:
在BorlandC 环境下的project项中打开openprojectfile项并建立ADD.prj,在add
item中加入ADD.C文件和ADD.DEF文件即可建立工程文件。
第二步,在BorlandC的options项的Applation中选择WindowsDLL,再在Compile中选择Buildall,这样就可生成动态链接库ADD.DLL供VB调用。

三、VB3.0调用动态链接库DLL方法

制作好DLL之后,就可以用VB调用它,实现VB调用C程序。VB程序要使用DLL中的函数,首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。
语句格式为:DeclareSub过程名Lib[Alias"别名]([ByVal参数AS类型]),或为DeclareFunction函数名Lib[Alias"别名]([ByVal参数AS类型])AS类型在声明中首先用Declare关键字表示声明DLL中的函数。在C语言中有的函数类型为VOID,它表示不具有返回值,则必须用关键字Sub将其声明成过程。有的函数具有返回值,则必须用关键字Function将其声明成函数,并且在声明语句的最后要用AS关键字指明函数返回值的类型。
例如上面的ADD.DLL在VB中就可以声明为:
DeclareFunctionADDLibc:\ADD.dll―ByValXASInteger,ByValYASInteger,ByValfileinas
string)ASInteger
通过此声明语句将函数ADD声明到VB中,便可直接调用。

四、结束语

以上详细介绍了BorlandC环境下制作动态链接库以及VB调用fordos动态链接库的方法、步骤,并通过实例说明VB调用C语言程序的方法。举例程序ADD经VB3.0编译,在486微机上调试通过。本文介绍的方法具有广泛的意义,也完全适用于C 语言程序。

->



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:VB5.0中实现鼠标拖放   下一篇:在VB中异步执行程序

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号