十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
------------------------------------------00000000000000000000000000++++++++++++++++++
普洱网站建设公司成都创新互联,普洱网站设计制作,有大型网站制作公司丰富经验。已为普洱成百上千家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的普洱做网站的公司定做!
Private Declare Auto Function funct Lib "xxx.dll" (ByRef address() As Byte) As Integer
"xxx.dll" 你的 dll 文件名称,保证他与你的程序在同一文件夹(或系统文件夹)中。不管是指针还是指向指针的指针,都是指针,数据类型是 int(integer),vb中声明为 integer 总是正确的,至于如何解释这个指针,很多情况下 vb 是无能为力的,你的 dll 还要帮助 vb 解释,所以,设计 dll 时,要考虑使用者的接受能力。
如果DLL不是你写的,且你要调用的函数不是__stdcall声明,VB直接调用是会报错的
如果DLL是你写的,注意调用约定问题,并看以下代码
***************************************************
以下是DLL代码
.cpp里这么写
1extern "C"__declspec(dllexport) void __stdcall HelloWorld()
2{3 MessageBox(NULL,"HelloWorld","HelloWorld",NULL);4}
.def里这么写
LIBRARY "XXXX"
EXPORTS
; 此处以下添加
HelloWorld@1
*************************************************
vb里这么写
1 Public Declare Sub HelloWorld Lib "XXXX.dll" ()
然后调用就可以了,上面是VB的代码,或许VB.net的也差不多
在c语言中每一个变量都有两个属性一个是值,一个是址。比如inta=2;变量a的值是2,变量a的地址,可以用取地址
操作符
获取,即a。因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如voidf1(intv){;}//函数f1v