.版本 2
創(chuàng)新互聯(lián)建站服務(wù)項目包括陽朔網(wǎng)站建設(shè)、陽朔網(wǎng)站制作、陽朔網(wǎng)頁制作以及陽朔網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,陽朔網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到陽朔省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
.子程序 _按鈕2_被單擊
鳴叫 ()
.子程序 _按鈕3_被單擊
播放音樂 (#聲音1, )
.子程序 _按鈕1_被單擊
播放次數(shù) = 1
' 播放MP3 (, 你想播放的音樂的路徑)
已經(jīng)發(fā)到你的郵箱了!
你好,使用golang寫動態(tài)庫,再使用易語言寫界面,肯定有不少人有這種想法吧;但中間有些坑,這里留下一些解決方法。
一、如何編譯?
請先安裝gcc編譯器,選擇32位
由于易語言只支持32位dll,使用64位會出錯,例如找不到此函數(shù);
必須先設(shè)置兩項配置:set GOARCH=386,set CGO_ENABLED=1,用cmd;
編譯命令:go build -ldflags "-s -w" -buildmode=c-shared -o dlldemo.dll dlldemo.go 。
二、形參與返回值
在go中,除了 string 特殊外,其他int、bool,等基本類型原本怎樣還是怎樣;
傳 string 與返回值 string 都改成 *C.char 類型,其他基本類型不用改;
有三個方法比較重要,C.CString 轉(zhuǎn)成c字符串,C.GoString 轉(zhuǎn)成go字符串 , C.free 釋放內(nèi)存;
只要用到 C.CString 此方法,就必須記得釋放內(nèi)存。
三、內(nèi)存泄漏
如果使用了 C.CString 卻不使用 C.free ,內(nèi)存暫用只會越來越大,最后奔潰;
釋放內(nèi)存時,請不要重復(fù)取地址,例如 unsafe.Pointer(xx變量) ,這樣等于沒釋放;
也可能是vc6的原因,使用 defer 在即將出棧時釋放,會造成易語言得不到返回值;
解決方法,聲明全局變量,將結(jié)果賦值給全局變量,專門定義一個釋放函數(shù)例如FreeAll() 用于釋放!
四、如何調(diào)用
在填寫dll命令時,請在填寫,在庫中對應(yīng)命令名時,前面加個 @ ,不然會出現(xiàn)棧錯誤;
每次調(diào)用返回值是文本型dll命令時,請都使用前面準(zhǔn)備的 FreeAll() 釋放內(nèi)存!
通過易語言的便捷,為自己的golang小項目加點gui吧,這里留下源碼,給有需要的人。
希望能幫到你。
寫單擊登錄按鈕發(fā)生發(fā)下兩個事件
信息框("登錄成功", #信息圖標(biāo) ,"提示")
播放音樂() '聲音文件你要先自己添加一個聲音常量
你可以記錄按鈕被單擊的次數(shù)n,然后記錄,如果真(n=1)編輯框1.內(nèi)容=xx如果真(n=2)編輯框1.內(nèi)容=xxx 依次往后寫就可以實現(xiàn)
你要的源碼:
yun哈pan.cn/lk/Q2WkyCNkKZrUc
上面的地址先把“哈”去掉,復(fù)制到瀏覽器然后可以下載