如果DLL不是你寫的,且你要調(diào)用的函數(shù)不是__stdcall聲明,VB直接調(diào)用是會(huì)報(bào)錯(cuò)的
成都創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)河口,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
如果DLL是你寫的,注意調(diào)用約定問題,并看以下代碼
***************************************************
以下是DLL代碼
.cpp里這么寫
extern?"C"__declspec(dllexport)?void?__stdcall?HelloWorld()
{
MessageBox(NULL,"HelloWorld","HelloWorld",NULL);
}
.def里這么寫
LIBRARY????? "XXXX"
EXPORTS
;?此處以下添加
HelloWorld@1
*************************************************
vb里這么寫
Public?Declare?Sub?HelloWorld?Lib?"XXXX.dll"?()
然后調(diào)用就可以了,上面是VB的代碼,或許VB.net的也差不多
你可以將C#寫的類輸出為庫(kù)文件,就是dll文件,然后用VB.net直接調(diào)用就可以了。因?yàn)镃#生成庫(kù)的時(shí)候會(huì)被編譯成IL,VB.net是可以直接使用的,希望可以幫到你。
如果DLL不是你寫的,且你要調(diào)用的函數(shù)不是__stdcall聲明,VB直接調(diào)用是會(huì)報(bào)錯(cuò)的
如果DLL是你寫的,注意調(diào)用約定問題,并看以下代碼
***************************************************
以下是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" ()
然后調(diào)用就可以了,上面是VB的代碼,或許VB.net的也差不多
在VB.NET中不能直接添加opengl,需要引用csgl庫(kù).具體方法如下:
1 下載csgl庫(kù),壓縮包內(nèi)有l(wèi)ibinstall和dep兩個(gè)文件夾
2 運(yùn)行l(wèi)ibinstall文件夾下的install程序,將csgl.dll和csgl.native.dll文件添加至系統(tǒng)文件夾。
3 運(yùn)用dep文件夾下的ResBuider程序(具體功能暫不可知)。
4 將dep文件夾下的Debug和Release文件夾內(nèi)容分別復(fù)制到運(yùn)行目錄的相應(yīng)文件夾中即可。