溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

發(fā)布時(shí)間:2020-10-17 05:47:12 來(lái)源:腳本之家 閱讀:336 作者:易語(yǔ)言幫助手冊(cè) 欄目:編程語(yǔ)言

一.關(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ū)(程序集),如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

創(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ì)外接口,如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

修改一下子程序名稱,叫“自創(chuàng)信息框”,然后創(chuàng)建2個(gè)參數(shù)“標(biāo)題”和“內(nèi)容”,都定義成整數(shù)型,如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

注意:目前DLL接口函數(shù)中的參數(shù)只能為以下9種之一:

  • 字節(jié)型、短整數(shù)型、整數(shù)型、長(zhǎng)整數(shù)型、小數(shù)型、雙精度小數(shù)型、邏輯型、日期時(shí)間型、子程序指針型

定義好DLL參數(shù)后,我們可以創(chuàng)建新窗體作為信息框窗口,在新窗體上畫(huà)一個(gè)按鈕,一個(gè)標(biāo)簽,如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

為了讓用戶按下確定按鈕后,窗口能關(guān)閉,可以雙擊確定按鈕,創(chuàng)建按鈕“被單擊”的觸發(fā)事件,寫(xiě)入如下代碼:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

然后返回到剛才的程序集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)。如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

到此已經(jīng)完成“自創(chuàng)信息框DLL”所有工作,最后可以選擇菜單“編譯”→“編譯”將其編譯為DLL。如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

也可以使用快捷鍵“F7”編譯剛剛編寫(xiě)的DLL,我們將編譯以后的DLL名稱命名為“自創(chuàng)信息框”,如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

通過(guò)以上,用易語(yǔ)言編寫(xiě)DLL的過(guò)程序基本完成。

四.如何使用DLL

用易語(yǔ)言編寫(xiě)的DLL可以在易語(yǔ)言自身調(diào)用,同樣,也可以在其他編程語(yǔ)言中調(diào)用,如(VB,VC,Delphi等)

在易語(yǔ)言中的調(diào)用方法如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

注意:定義時(shí),2個(gè)參數(shù)都定義成文本型

最后請(qǐng)?jiān)诖绑w上畫(huà)一個(gè)按鈕,雙擊按鈕,寫(xiě)上代碼調(diào)用這個(gè)DLL,按下按鈕后,就會(huì)看到效果,如下圖所示:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

VB中調(diào)用方法如圖:

易語(yǔ)言中DLL命令的開(kāi)發(fā)與使用介紹

注意事項(xiàng):

  • 注1:調(diào)用DLL時(shí)的Dll對(duì)應(yīng)命令名必須和接口名稱完全一樣。
  • 注2:接口函數(shù)的參數(shù)必須是基本數(shù)據(jù)類型,且不能為字節(jié)集型、文本型。
  • 注3:易語(yǔ)言3.6版中新增加3個(gè)命令“指針到文本”、“指針到字節(jié)集”、“寫(xiě)到內(nèi)存”,這3個(gè)命令最佳使用場(chǎng)合就是在易語(yǔ)言回調(diào)子程序和易語(yǔ)言DLL公開(kāi)子程序用作獲取外部數(shù)據(jù)。
  • 注4:易語(yǔ)言編寫(xiě)的DLL如果要在其他編程語(yǔ)言中使用,必須附帶對(duì)應(yīng)的易語(yǔ)言支持庫(kù)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI