您好,登錄后才能下訂單哦!
一.關(guān)于易語(yǔ)言DLL
從易語(yǔ)言3.6版開(kāi)始,已經(jīng)能夠支持對(duì)DLL動(dòng)態(tài)鏈接庫(kù)的開(kāi)發(fā), 編譯出的DLL是標(biāo)準(zhǔn)的DLL,和其他編程語(yǔ)言生成的標(biāo)準(zhǔn)DLL的調(diào)用方法相同。易語(yǔ)言編寫(xiě)出的DLL,在非獨(dú)立編譯exe時(shí)只需要DLL文件隨應(yīng)用程序一起發(fā)行,而獨(dú)立編譯exe時(shí)無(wú)需將DLL文件隨應(yīng)用程序一起發(fā)行。
二.新建易語(yǔ)言DLL程序
新建一個(gè)易語(yǔ)言程序,然后選擇 Windows動(dòng)態(tài)鏈接庫(kù)
圖標(biāo),易語(yǔ)言就會(huì)自動(dòng)創(chuàng)建
出編寫(xiě)DLL動(dòng)態(tài)鏈接庫(kù)的代碼區(qū)(程序集),如下圖所示:
創(chuàng)建完畢就可以在代碼區(qū)里編寫(xiě)DLL程序。
三.如何生成動(dòng)態(tài)連接庫(kù)(DLL)
易語(yǔ)言中的DLL編寫(xiě)方法和易模塊的編寫(xiě)方法類似,都需要有對(duì)外的公開(kāi)接口。下面將通過(guò)編寫(xiě)一個(gè)“自創(chuàng)信息框”來(lái)看一下用易語(yǔ)言如何編寫(xiě)和調(diào)用DLL。
編寫(xiě)DLL時(shí)的公開(kāi)接口只能由以下方式生成,新建一個(gè)子程序,然后把“公開(kāi)
”選中,在DLL中任何程序集中選中“公開(kāi)
”的子程序都作為對(duì)外接口,如下圖所示:
修改一下子程序名稱,叫“自創(chuàng)信息框
”,然后創(chuàng)建2個(gè)參數(shù)“標(biāo)題
”和“內(nèi)容
”,都定義成整數(shù)型
,如下圖所示:
注意:目前DLL接口函數(shù)中的參數(shù)只能為以下9種之一:
定義好DLL參數(shù)后,我們可以創(chuàng)建新窗體作為信息框窗口,在新窗體上畫(huà)一個(gè)按鈕
,一個(gè)標(biāo)簽
,如下圖所示:
為了讓用戶按下確定按鈕后,窗口能關(guān)閉,可以雙擊確定按鈕,創(chuàng)建按鈕“被單擊”的觸發(fā)事件,寫(xiě)入如下代碼:
然后返回到剛才的程序集1代碼區(qū)開(kāi)始編寫(xiě)代碼。
由于2個(gè)參數(shù)都定義成了整數(shù)型,而調(diào)用的時(shí)候傳遞過(guò)來(lái)的標(biāo)題和內(nèi)容一定是文本型的,那么怎樣去取得里面內(nèi)容呢?別急,易語(yǔ)言3.6版中考慮到了這個(gè)問(wèn)題,所以新增加了3個(gè)命令:“指針到文本
”、“指針到字節(jié)集
”、“寫(xiě)到內(nèi)存
”。
當(dāng)用戶傳遞的是文本型或者字節(jié)集型,易語(yǔ)言將自動(dòng)轉(zhuǎn)換成指針,我們可以使用“指針到文本
”或“指針到字節(jié)集
”把原來(lái)的文本返回出來(lái)。如下圖所示:
到此已經(jīng)完成“自創(chuàng)信息框DLL”所有工作,最后可以選擇菜單“編譯
”→“編譯
”將其編譯為DLL。如下圖所示:
也可以使用快捷鍵“F7”編譯剛剛編寫(xiě)的DLL,我們將編譯以后的DLL名稱命名為“自創(chuàng)信息框”,如下圖所示:
通過(guò)以上,用易語(yǔ)言編寫(xiě)DLL的過(guò)程序基本完成。
四.如何使用DLL
用易語(yǔ)言編寫(xiě)的DLL可以在易語(yǔ)言自身調(diào)用,同樣,也可以在其他編程語(yǔ)言中調(diào)用,如(VB,VC,Delphi等)
在易語(yǔ)言中的調(diào)用方法如下圖所示:
注意:定義時(shí),2個(gè)參數(shù)都定義成文本型
最后請(qǐng)?jiān)诖绑w上畫(huà)一個(gè)按鈕,雙擊按鈕,寫(xiě)上代碼調(diào)用這個(gè)DLL,按下按鈕后,就會(huì)看到效果,如下圖所示:
VB中調(diào)用方法如圖:
注意事項(xiàng):
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。