国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

為NEO-GUI 添加插件系統(tǒng)

ccj659 / 1418人閱讀

摘要:另一個(gè)是,插件實(shí)現(xiàn)此接口。最后在動(dòng)態(tài)增加菜單,按下菜單時(shí)呼叫對(duì)應(yīng)的插件。在運(yùn)行程序的目錄創(chuàng)建一個(gè)文件夾把插件進(jìn)去,重啟即可生效。

作為一個(gè)NEO區(qū)塊鏈技術(shù)愛(ài)好者,經(jīng)常要擺弄NEOGUI,而NEOGUI在眾多開(kāi)發(fā)者手中有了眾多的分支實(shí)現(xiàn),我也有自己的分支改版。這是一件很麻煩的事情。

雖然NEO-GUI定位為一個(gè)演示客戶端與開(kāi)發(fā)工具,不過(guò)使用他的開(kāi)發(fā)者還是很多的,大家都要對(duì)NEO-GUI進(jìn)行各式各樣的修改。

那么為什么不增加一個(gè)插件機(jī)制呢,說(shuō)干就干。

先貼地址,此分支版本的源碼在

https://github.com/lightszero...

為neo neovm neogui 三合一,隨時(shí)和NEO倉(cāng)庫(kù)保持同步。

先增加一個(gè)插件模塊,里面有兩個(gè)接口,一個(gè)IAPI,提供客戶端暴露給插件使用的接口

NEOGUI 繼承此接口。另一個(gè)是IPLUGIN,插件實(shí)現(xiàn)此接口。

然后在NEO-GUI啟動(dòng)時(shí),動(dòng)態(tài)尋找插件的dll,用反射方法找出其中的插件類型,并創(chuàng)建實(shí)例。

最后在NEO-GUI動(dòng)態(tài)增加菜單,按下菜單時(shí)呼叫對(duì)應(yīng)的插件。

這個(gè)插件機(jī)制就完成了。

我們先來(lái)看一下效果

剛加上插件機(jī)制,和普通客戶端并無(wú)不同,那個(gè)good請(qǐng)無(wú)視掉,本來(lái)應(yīng)該安置一個(gè)插件管理器什么的。

在運(yùn)行程序的目錄

創(chuàng)建一個(gè)文件夾

把插件copy進(jìn)去,重啟gui即可生效。

我們先copy 一個(gè) sample_plugin

效果如下,為這個(gè)插件增加了一個(gè)菜單項(xiàng)

功能是簡(jiǎn)單的彈出了一個(gè)對(duì)話框

這個(gè)插件的源碼非常簡(jiǎn)潔

我們?cè)侔惭b另一個(gè)插件,他有一個(gè)實(shí)際的功能,

可以查詢storage存儲(chǔ)區(qū)里面的內(nèi)容

對(duì)neogui源碼的侵入性也很小

目前只修改了這么多NeoGUI的源碼。

作者:李劍英

原文鏈接:http://www.cnblogs.com/crazyl...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/72659.html

相關(guān)文章

  • typecho插件編寫(xiě)教程7 - Helper類

    摘要:輸出類似強(qiáng)行刪除某插件此方法用于卸載插件失敗時(shí)的替補(bǔ)方法,老高一般將此方法寫(xiě)入插件的方法里,這樣刷新以下后臺(tái),出問(wèn)題的插件就被卸載了。比如老高的插件,就用此方法為系統(tǒng)添加了一個(gè)的路由。 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! Helper類為我們封裝了很多與插件有關(guān)的操作,并且全部是公共靜態(tài)方法,比如獲取系統(tǒng)配置、添加路由、添加面板等功能,是開(kāi)發(fā)插件必不可少的工...

    Carson 評(píng)論0 收藏0
  • October CMS - 快速入門(mén) 5 創(chuàng)建插件

    摘要:創(chuàng)建插件對(duì)于來(lái)講是很簡(jiǎn)單的事情,因?yàn)椋峁┝艘粋€(gè)插件構(gòu)建器具體步驟這里就不贅述了。安裝完成后,會(huì)出現(xiàn)上圖所示的菜單創(chuàng)建自己的插件的方法是點(diǎn)擊如下圖所示的小按鈕。 創(chuàng)建插件對(duì)于October來(lái)講是很簡(jiǎn)單的事情,因?yàn)?,October提供了一個(gè)插件構(gòu)建器:RainLab.Builder showImg(https://segmentfault.com/img/bVbcoxL?w=1266&h...

    macg0406 評(píng)論0 收藏0
  • cordova研習(xí)筆記(一) —— 初試牛刀之cordova.js概要

    摘要:任何初始化任務(wù)應(yīng)該在文件中的事件的事件處理函數(shù)中。這個(gè)配置文件有幾個(gè)地方很關(guān)鍵,一開(kāi)始沒(méi)有認(rèn)真看,將插件導(dǎo)進(jìn)工程跑的時(shí)候各種問(wèn)題,十分頭痛,不得不重新認(rèn)真看看文檔。 前言 來(lái)新公司的第一個(gè)任務(wù),研究hybrid App中間層實(shí)現(xiàn)原理,做中間層插件開(kāi)發(fā)。這個(gè)任務(wù)挺有意思,也很有挑戰(zhàn)性,之前在DCloud雖然做過(guò)5+ App開(kāi)發(fā),但是中間層的東西確實(shí)涉及不多。本系列文章屬于系列開(kāi)篇cord...

    buildupchao 評(píng)論0 收藏0
  • 使用LeanCloud服務(wù)做一站式Chrome插件開(kāi)發(fā)——Favorite Image

    摘要:云存儲(chǔ)問(wèn)題,帳號(hào)系統(tǒng),多端同步最開(kāi)始只想做瀏覽器本地的存儲(chǔ),使用提供的存在本地就。具體解決方案云存儲(chǔ)及帳號(hào)系統(tǒng)使用提供的存儲(chǔ)服務(wù)解決。 0. 目錄 要開(kāi)發(fā)的是什么項(xiàng)目 1.1 想法開(kāi)端 1.2 應(yīng)該有什么功能? 開(kāi)發(fā)需要解決的核心問(wèn)題 具體解決方案 3.1 帳號(hào)系統(tǒng) 3.2 存儲(chǔ)服務(wù) 3.3 使用`LeanEngine`做反防盜鏈中轉(zhuǎn)接口 3.4 Chrome 插件實(shí)現(xiàn) 對(duì)去...

    JohnLui 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<