在編寫程序的時候往往需要調用到別的語言編寫的DLL文件,下面先來看一下在易語言中如何調用VC編寫的DLL呢,首先用VC編寫一個簡單的DLL文件,代碼如下:
int WINAPI add(int x,int y){return x+y;}
這是一個簡單的兩個數加法操作,返回兩個數相加的結果,這里我生成的是MFC DLL,并且需要在def中導出add函數。
下面用易語言來調用它,首先在易語言中需要插入一個DLL命令,代碼如下:
.版本 2
并且保存工程文件與DLL文件在一起,否則可能會報找不到DLL的錯誤.下面在按鈕中添加如下代碼:
.版本 2
.子程序 _按鈕1_被單擊
信息框 (調用CDLL (5, 5), 0, )
這樣我們傳遞了兩個數后就可以返回結果了,如下圖:
VC與易語言DLL互相調用方法
上圖的信息框顯示返回的結果是10,那么這就是正確的了,易語言調用VC的DLL需要注意類型,并且DLL函數需要WINAPI或stdcall,否則也會報錯。
下面我們再來看一下VC如何調用易語言的DLL,還是先用易語言編寫一個DLL文件,建立一個DLL動態鏈接庫工程,新建一個子程序,代碼如下:
.版本 2
.子程序 add, 整數型, 公開
.參數 x, 整數型
.參數 y, 整數型
返回 (x + y)
下面我們用VC來調用這個DLL并且返回結果,代碼如下:
HINSTANCE hMod = LoadLibrary("e.dll");typedef int(WINAPI *ADD)(int,int);ADD myadd = (ADD)GetProcAddress(hMod,"add");CString str;str.Format("%d",myadd(5,5));MessageBox(str); 本文內容來自 www.companysz.com FreeLibrary(hMod);
新聞熱點
疑難解答