回覆列表
-
1 # mgkes9430
-
2 # pietr49411
一般採用C做DLL,vb呼叫此DLLVB裡面對普通DLL函式的呼叫方法如下:首先進行宣告:這個是有返回值的函式的宣告方法:Private Declare Function HelloWorld Lib "E:\xxx.dll" (ByVal InLng As Long) As Long這個是沒有返回值的函式的宣告方法:Private Declare Sub HelloWorld Lib "E:\xxx.dll" (ByVal InLng As Long)備註:如果dll跟vb程式不在一個目錄,就要寫全路徑,否則直接寫上dll檔名就行了。之後就可以像普通VB函式(Function)或者過程(Sub)一樣的呼叫了,例如:rtnCode = HelloWorld(123)或者Call HelloWorld(123)另外,C裡面的函式要加加上_stdcall,例如:DLLIMPORT _stdcall long HelloWorld (long InLng,char *InStr)
有兩種方式:第一種就是將部分功能用C語言編寫並使用DEF檔案將函式匯出做成DLL以供VB程式呼叫,呼叫時需要在VB中宣告呼叫的介面(就象VB呼叫系統的API函式一樣);第二種就是將部分功能用C語言編寫成COM元件並在系統中註冊以供VB程式呼叫,呼叫時在VB的專案中新增對該COM元件的依賴,定義出該元件的物件直接呼叫(就象VB呼叫EXCEL等微軟提供的COM元件一樣);