------------------------------------------00000000000000000000000000++++++++++++++++++
普洱網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),普洱網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為普洱成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的普洱做網(wǎng)站的公司定做!
Private Declare Auto Function funct Lib "xxx.dll" (ByRef address() As Byte) As Integer
"xxx.dll" 你的 dll 文件名稱,保證他與你的程序在同一文件夾(或系統(tǒng)文件夾)中。不管是指針還是指向指針的指針,都是指針,數(shù)據(jù)類型是 int(integer),vb中聲明為 integer 總是正確的,至于如何解釋這個(gè)指針,很多情況下 vb 是無(wú)能為力的,你的 dll 還要幫助 vb 解釋,所以,設(shè)計(jì) dll 時(shí),要考慮使用者的接受能力。
如果DLL不是你寫(xiě)的,且你要調(diào)用的函數(shù)不是__stdcall聲明,VB直接調(diào)用是會(huì)報(bào)錯(cuò)的
如果DLL是你寫(xiě)的,注意調(diào)用約定問(wèn)題,并看以下代碼
***************************************************
以下是DLL代碼
.cpp里這么寫(xiě)
1extern "C"__declspec(dllexport) void __stdcall HelloWorld()
2{3 MessageBox(NULL,"HelloWorld","HelloWorld",NULL);4}
.def里這么寫(xiě)
LIBRARY "XXXX"
EXPORTS
; 此處以下添加
HelloWorld@1
*************************************************
vb里這么寫(xiě)
1 Public Declare Sub HelloWorld Lib "XXXX.dll" ()
然后調(diào)用就可以了,上面是VB的代碼,或許VB.net的也差不多
在c語(yǔ)言中每一個(gè)變量都有兩個(gè)屬性一個(gè)是值,一個(gè)是址。比如inta=2;變量a的值是2,變量a的地址,可以用取地址
操作符
獲取,即a。因此以C語(yǔ)言的函數(shù)傳遞中具備兩種方式傳遞參數(shù),一種是傳址,一種傳值。比如voidf1(intv){;}//函數(shù)f1v