| 樓主 發(fā)表于: 2010-12-14 00:46:35 1.分發(fā)。針對(duì)客戶端不同職能,不需要打N個(gè)包,只需要指定其配置文件,一個(gè)安裝包即可以顯示相應(yīng)崗位的主界面。 2.協(xié)作。分擔(dān)各模塊的編程人員不再需要頂著主程序的帽子來做調(diào)試,帶著分發(fā)的公用模塊即可建立各個(gè)模塊的application,無須考慮繁瑣的登錄等等問題,提高了開發(fā)效率。 3.美觀。我記得當(dāng)年研究DLL框架集成程序的時(shí)候,三方組件的RTTI總是出這樣那樣的小插曲,而且DLL框架貌似省事省心,但繼承、界面內(nèi)部的微控制全部與獨(dú)立的EXE程序不同,最讓俺接受不了的是界面的美觀和資源的復(fù)用。現(xiàn)在這些問題Pass掉了??蚣懿捎玫腞ibbon風(fēng)格,主程序僅帶了一種皮膚,開發(fā)時(shí)主程序自動(dòng)合并各模塊窗體的菜單工具條,完全避免了主窗體設(shè)計(jì)工具,模塊窗體是Dock還是MDI的問題。 至于重用維護(hù)等等的概念就不再提了,這屬于開發(fā)框架最基礎(chǔ)也是必須有的東西。 解決問題的同時(shí),又發(fā)現(xiàn)了新的問題,希求各位達(dá)人先賢不吝賜教。 問題一:程序發(fā)布。既然做為插件來開發(fā),就需要有插件框架的覺悟,程序發(fā)布的時(shí)候要盡可能地考慮到插件的發(fā)展方向。那就意味著要把自己本機(jī)上的運(yùn)行期包(計(jì)三四百個(gè))全部一并發(fā)行了?如果不一并發(fā)行,就來在擴(kuò)展插件的時(shí)候,是不是就得連同用到的運(yùn)行期包一起帶上?或者還有別的答案? 問題二:插件的開發(fā)問題。所有插件依賴的東西,三方組件、公用單元需要一并賦予協(xié)作者,那就意味著協(xié)作開發(fā)插件的人要同樣搭建跟框架開發(fā)一模一樣的環(huán)境?如果不是,那應(yīng)該怎么協(xié)作? 問題三:BPL包是不是可以合并?如果可以應(yīng)該如何去做?比如我用的Dev的套件,那就得把各個(gè)運(yùn)行期的包全部加到自己的包里?Delphi自己的運(yùn)行期包也有同樣的問題。 VS2008也提供了自己的動(dòng)態(tài)鏈接庫包(類庫),一哥們讓我一并寫一個(gè)C#的此類框架,順便了解了一下Winform程序的機(jī)制,發(fā)現(xiàn)似乎與BPL的程序發(fā)布是一個(gè)路子。 1..net Framework把VS的運(yùn)行期包全部打在里面了,所以發(fā)布時(shí)只需要帶上三方組件的DLL即可。Delphi沒有frameWork,就只能靠著人工一個(gè)一個(gè)去找了。 2..net 的Dll是不是也不能包含重復(fù)的類?如果這樣,那就簡直和BPL一模一樣了。 分享到: |
回復(fù)次數(shù):10 |
| #1 得分:3 回復(fù)于: 2010-12-14 12:44:49 牛人! CSDN不能上傳超過20M的文件嗎? |
|
#2 得分:2 回復(fù)于: 2010-12-14 13:33:42 討論討論 | |
|
#3 得分:3 回復(fù)于: 2010-12-14 13:48:36 有沒有DEMO | |
|
#4 得分:2 回復(fù)于: 2010-12-14 14:39:43 弄個(gè)網(wǎng)盤也不止20M吧。 | |
|
| #5 得分:10 回復(fù)于: 2010-12-15 09:44:40 問題一:只發(fā)布插件依賴的Dll或者BPL,通過資源查看工具可以看到導(dǎo)入的DLL. 問題二:既然是BPL,肯定是帶包編譯的,三方組件和公共單元做成BPL,只要發(fā)布BPL給協(xié)作者即可. 問題三:BPL不能合并,DCP可以合并,合并后好像可以重編譯.具體沒有操作過. |
|
| #6 得分:0 回復(fù)于: 2010-12-15 11:08:52 感謝xthmpro_cn。 DCP的合并能否詳細(xì)解說一下? |
|
#9 得分:0 回復(fù)于: 2011-11-07 10:35:10 一年前的帖子啊。。。 我合并是把所有的unit放到contains中。。。。 編譯后,這個(gè)包就很大,但是比所有的bpl加到一起要小很多。只需發(fā)布這一個(gè)包就成。
我見有的人是requies中加入包,但是還要發(fā)布那些原來的包。 | |||
|
聯(lián)系客服