成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

在宿主程序界面中嵌入第三方界面的方法

文檔序號:6420861閱讀:360來源:國知局
專利名稱:在宿主程序界面中嵌入第三方界面的方法
技術(shù)領(lǐng)域
本發(fā)明涉及程序界面互相嵌入和交互技術(shù),尤其涉及一種在宿主程序界面中嵌入第三方界面的方法。
背景技術(shù)
在互聯(lián)網(wǎng)即時通訊工具(QQ)的業(yè)務(wù)伙伴(S-BUDDY)應(yīng)用中,由于S-BUDDY服務(wù)商數(shù)量眾多,且行業(yè)各不相同,因此S-BUDDY服務(wù)商對業(yè)務(wù)受理界面有很強的個性化定制,導(dǎo)致QQ在技術(shù)實現(xiàn)上需要支持嵌入第三方定義的程序界面,實現(xiàn)QQ與S-BUDDY服務(wù)商界面的無關(guān)性,從而將界面的定制能力交給用戶。
目前要在宿主程序(需要嵌入第三方界面的主程序)中實現(xiàn)嵌入第三方界面主要有以下三種方法方法一、在宿主程序的源代碼中調(diào)用由第三方的界面ActiveX控件第三方將其需要的界面封裝為一個獨立的ActiveX控件,并將該控件提供給宿主程序,由宿主程序調(diào)用該控件。下面以VC6為例說明宿主程序調(diào)用ActiveX控件的方法1、在宿主程序中,新建一個對話框。
2、執(zhí)行圖1A所示的文件菜單Project->Add to Project->Components andControls。
3、選取第三方提供的控件,參閱圖1B。
4、被選中的ActiveX控件插入到對話框中,參閱圖1C,圖中右部份即為新插入的第三方界面。
5、宿主程序編譯執(zhí)行,顯示如圖1D所示界面。
該方法存在以下缺點
1、必須修改宿主程序的源代碼才能支持新的界面,雖在技術(shù)上可行,但在S-BUDDY中卻不具備實際應(yīng)用價值;2、第三方界面均需要一個獨立的ActiveX控件,系統(tǒng)消耗大,當(dāng)控件數(shù)量很多時管理很復(fù)雜;3、一旦ActiveX控件發(fā)布后,該界面就不能再修改,幾乎沒有用戶可定制性;4、新的ActiveX控件發(fā)布后,需要更新所有的宿主程序版本,而S-BUDDY分布在全國各地的個人用戶的機器上,統(tǒng)一更新十分困難,且會造成很大的網(wǎng)絡(luò)和設(shè)備壓力;5、ActiveX控件的編寫復(fù)雜,需要有很強的技術(shù)功底,并利用編程工具才能編寫,起點高,造成普通用戶幾乎不可能制作出自己的界面;6、ActiveX控件封裝嚴(yán)密,宿主程序難以接管其所有其消息,因此其操作結(jié)果必須由ActiveX控件自身來返回給第三方,但第三方界面很多時,協(xié)議接口十分復(fù)雜,很容易影響到整個系統(tǒng)的穩(wěn)定性。
方法二、宿主程序使用第三方界面插件(PlugIn)第三方將其需要的界面封裝為一個獨立的插件(PlugIn),并將該控件提供給宿主程序,由宿主程序調(diào)用該插件。下面以VC6本身使用插件的例子來說明該方法1、宿主程序提供插件接口,所有的插件都必須嚴(yán)格遵守該接口;2、將所需要的功能封裝在獨立的插件內(nèi),并放置到宿主程序的插件目錄下;3、在VC6中配置該插件Tools->Customize...,顯示如圖2A所示配置界面;4、在界面上選中相應(yīng)的插件并確認(rèn),該插件將立即啟用,執(zhí)行效果如圖2B所示。
該方法存在以下缺點1、宿主程序需要支持復(fù)雜的插件加載、卸載、資源分配以及調(diào)用機制;2、由于插件必須安裝在宿主程序本地,當(dāng)插件數(shù)量很多時管理很復(fù)雜;
3、一旦插件發(fā)布后,該界面就不能再修改,幾乎沒有用戶可定制性;4、新插件發(fā)布后,需要將其同步到所有宿主程序的歸屬機器上,而S-BUDDY分布在全國各地的個人用戶的機器上,統(tǒng)一更新十分困難,且會造成很大的網(wǎng)絡(luò)和設(shè)備壓力;5、插件的編寫復(fù)雜,需要有很強的技術(shù)功底,并利用編程工具才能編寫,起點高,造成普通用戶幾乎不可能制作出自己的界面;6、插件封裝嚴(yán)密,宿主程序難以接管其所有其消息,因此其操作結(jié)果必須由插件自身來返回給第三方,但第三方界面很多時,協(xié)議接口十分復(fù)雜,很容易影響到整個系統(tǒng)的穩(wěn)定性。
方法三、宿主程序內(nèi)嵌HTML頁面第三方將其需要的界面寫成對應(yīng)的HTML頁面,并發(fā)布到宿主程序可以訪問的網(wǎng)絡(luò)(如Internet)上。宿主程序則在自己的界面上內(nèi)嵌HTML瀏覽器,宿主程序啟動后顯示該HTML頁面,用戶在該HTML頁面上填寫信息并提交。技術(shù)方案如圖3A1、在宿主程序的界面中插入HTML瀏覽器控件,見圖3B;2、編寫相應(yīng)代碼來控制HTML瀏覽器控件,使之能夠顯示指定HTML頁面的能力;3、編譯執(zhí)行宿主程序,如圖3C。
該方法存在以下缺點1、宿主程序需支持HTML瀏覽器,在不同的操作系統(tǒng)下實現(xiàn)同一功能無法兼容;2、如果用戶在代理服務(wù)器后面還需要支持WEB代理,對宿主程序改動很大;3、對第三方而言,需要有WEB SERVER,以便向宿主程序提供HTML頁面,并接受返回的用戶數(shù)據(jù)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在宿主程序界面中嵌入第三方界面的方法,以解決現(xiàn)有技術(shù)中存在定制第三方界面技術(shù)要求高,更新和維護困難的缺點。
為解決上述問題,本發(fā)明提供以下技術(shù)方案一種在宿主程序界面中嵌入第三方界面的方法,該方法為將描述第三方界面的描述文件傳送給宿主程序,宿主程序解析該描述文件并生成第三方界面。
根據(jù)上述方法宿主程序接收到描述文件后先生成相應(yīng)的動態(tài)界面,再將描述文件傳送給該動態(tài)界面,由動態(tài)界面解析描述文件并生成第三方界面。
用戶操作完第三方界面后,將從第三方界面獲得的信息生成數(shù)據(jù)包傳遞給宿主程序并關(guān)閉第三方界面,然后由宿主程序?qū)?shù)據(jù)包傳送給第三方設(shè)備。
由第三方通過網(wǎng)絡(luò)將描述文件傳送給宿主程序。
傳送描述文件前先進行壓縮處理,在解析描述文件時先進行解壓縮處理。
宿主程序提供支持所述描述文件的控件能力集,當(dāng)接收到描述文件時通過執(zhí)行該能力集來生成動態(tài)界面。
由獨立的插件提供支持所述描述文件的控件能力集,當(dāng)宿主程序接收到描述文件時調(diào)用該插件來生成動態(tài)界面。
對第三方界面的描述中包含對屬性和動作的描述。
采用可擴展的標(biāo)記性語言(XML)、自定義文本文件、二進制文件或資源文件描述第三方界面。
本發(fā)明具有以下有益效果1、實現(xiàn)了宿主程序和第三方界面的無關(guān)性通過提供XML界面能力集,使得第三方可以在此能力集范圍內(nèi)任意定義自己的專用界面,實現(xiàn)了宿主程序和第三方界面的無關(guān)性,完善地解決了S-BUDDY這類業(yè)務(wù)的界面多樣化需求。
2、通過這種嵌入界面的方式給第三方提供了自己定制用戶界面并獲取用戶數(shù)據(jù)的能力。
3、降低了技術(shù)門檻,方便第三方定制能力集采用簡單易懂的文本方式來描述界面,并提供了XML資源編輯工具,即時普通用戶也可迅速定制其界面。
4、可維護性好第三方的界面不需要安裝到宿主程序本地,因此不需要本地維護,也不存在管理問題,第三方界面的變動也不需要更新宿主程序。
5、更新方便第三方更改其界面定義后,不需要同步到宿主程序本地,而是在實時交互中傳送給宿主程序,因此更新第三方界面十分方便。


圖1A、圖1B、圖1C和圖1D為現(xiàn)有技術(shù)中實施方法一的界面示意圖;圖2A、圖2B為現(xiàn)有技術(shù)中實現(xiàn)方法二的界面示意圖;圖3A、圖3B、圖3C為現(xiàn)有技術(shù)中實現(xiàn)方法三的界面示意圖;圖4為本發(fā)明中第三方界面在整個方案中的地位示意圖;圖5為說明組合框控制的界面示意圖;圖6為產(chǎn)生的第三方界面示意圖。
具體實施例方式
本實施例主要以采用可擴展標(biāo)記語言(XML)描述第三方界面為例對本發(fā)明進行說明。
在本發(fā)明中,第三方只需提供描述其界面的XML文本,宿主程序根據(jù)其腳本中的界面定義來生成第三方界面,并可將從該界面填寫的結(jié)果以XML返回給第三方。
參閱圖4所示,在即時通訊(IM)中,網(wǎng)絡(luò)中間件在第三方設(shè)備和宿主程序之間進行數(shù)據(jù)或文件傳送。
本發(fā)明的處理流程如下步驟①第三方利用XML資源編輯器或者手工編寫XML界面文本;步驟②第三方設(shè)備收到該文本后,傳遞給網(wǎng)絡(luò)中間件;步驟③網(wǎng)絡(luò)中間件將XML文本傳給宿主程序;步驟④宿主程序生成XML對話框(也可為一般的窗口界面),并將XML界面文本傳遞給該對話框;
步驟⑤XML對話框根據(jù)收到的XML文本產(chǎn)生相關(guān)的界面(第三方界面);步驟⑥最終用戶在該界面上完成資料的填寫后,點擊“提交”按鈕時XML對話框關(guān)閉,并將填寫結(jié)果打包給宿主程序;步驟⑦宿主程序通過網(wǎng)絡(luò)中間件將結(jié)果傳送給第三方設(shè)備。
以下對上述處理流程進行詳細(xì)說明宿主程序提供XML控件能力集,支持靜態(tài)文本、文本編輯、組合框、列表框、單選按鈕群組、GroupBox、單選按鈕、復(fù)選按鈕、線條、圖像、進程條等主要控件。
宿主程序支持可動態(tài)擴充的控件能力集,上述控件已覆蓋了一般程序所常用的絕大部分控件。當(dāng)現(xiàn)有控件能力集不夠用時,還可動態(tài)擴充控件能力集,新擴充的控件不影響到原來的第三方已經(jīng)定義好的界面。
宿主程序提供控件能力集的方式有兩種A、將控件能力集嵌入到主程序中,但需要升級宿主程序。
B、將控件能力集作為一個獨立的插件,宿主程序通過接口調(diào)用該插件。當(dāng)能力集增加新的控件后,升級該插件即可,完全與宿主程序無關(guān)。
控件能力集中的每種控件均可支持屬性(Property)和動作(Action)。其中屬性描述了控件某個方面的特性,如標(biāo)題、位置、文本顏色、背景顏色、是否可見、是否使能等,由于每個控件的特性存在差異,因此其支持的屬性也各不相同。
動作描述了控件的某個屬性發(fā)生變更后,其他控件的屬性發(fā)生跟隨性變化,如用戶選中組合框中的某項時,某個編輯控件不能繼續(xù)讓用戶填寫,此時就可以定義對應(yīng)的動作使得編輯控件隱藏或者禁止編輯。
參閱圖5,以XML FORM中的組合框控件(框1內(nèi)的控件)為例該控件的XML定義為<項目選擇 類型=“COMBOBOX”坐標(biāo)=“15,323,135,414”使能=“TRUE”選中項=“無默認(rèn)項”必填=“TRUE”>
<選項清單>
<選項 項名=“第一項”/>
<選項 項名=“第二項”/>
<選項 項名=“第三項”/>
</選項清單>
<動作清單>
<第[1]動作 選中項=“第一項”類型=“等于”控件名=“控制列表”屬性名=“選中項”屬性值=“第一項”/>
<第[2]動作 選中項=“第二項”類型=“等于”控件名=“控制列表”屬性名=“選中項”屬性值=“第二項”/>
<第[3]動作 選中項=“第三項”類型=“等于”控件名=“控制列表”屬性名=“選中項”屬性值=“第三項”/>
</動作清單>
</項目選擇>
上面的定義中,為該組合框定義了如下屬性(1)控件名稱項目選擇;(2)類型COMBOBOX;(3)坐標(biāo)15,323,135,414;(4)使能TRUE;(5)選中項無默認(rèn)項;(6)必填TRUE;(7)列表項清單第一項、第二項、第三項。
同時,還為該組合框定義了如下動作(“控制列表”是另外一個列表框控件)(1)當(dāng)選中“第一項”時控制列表也選中包含“第一項”文本的項目;(2)當(dāng)選中“第二項”時控制列表也選中包含“第二項”文本的項目;(3)當(dāng)選中“第三項”時控制列表也選中包含“第三項”文本的項目。
宿主程序能夠根據(jù)界面XML定義文本來動態(tài)生成相關(guān)的界面,即實現(xiàn)第三方界面和宿主程序的無關(guān)性。如第三方界面定義如下
<?xml version=′1.0′encoding=′gb2312′?>
<XML表單FORM標(biāo)題=′用戶調(diào)查′FORM位置=′221,198,371,398′背景色=′212,208,200′字體大?。健?0′>
<普通按鈕 類型=“BUTTON”標(biāo)題=“退出”坐標(biāo)=“15,142,135,166”使能=“TRUE”動作=“COMMIT”/>
<文本編輯 類型=“EDIT”標(biāo)題=“”坐標(biāo)=“15,65,135,87”使能=“TRUE”單行=“TRUE”必填=“TRUE”/>
<姓名 類型=“STATIC”標(biāo)題=“您的姓名”坐標(biāo)=“15,41,135,61”使能=“TRUE”/>
</XML表單>
生成的第三方界面如圖6所示,宿主程序在用戶填寫完該界面后,可將用戶的結(jié)果透傳給第三方,以便第三方實現(xiàn)自己的業(yè)務(wù)流程。
采用標(biāo)準(zhǔn)的XML文本,在IE中可解析,可支持GB2312中文編碼和英文編碼。因此,XML控件能力集屬性既可支持中文又可支持英文。
由于XML描述的第三方界面為文本方式,可有比較大的壓縮率,因此,將XML文本文件壓縮后再通過網(wǎng)絡(luò)傳送,這樣可大幅度降低網(wǎng)絡(luò)要求和對相關(guān)設(shè)備的要求。
本實施例雖然以采用XML描述第三方界面為例,但界面描述采用自定義文本文件、二進制文件或者資源文件(如微軟公司Visual C++的.RC文件)來描述界面,也可達(dá)到用XML來描述界面相同的效果。
權(quán)利要求
1.一種在宿主程序界面中嵌入第三方界面的方法,其特征在于該方法為將描述第三方界面的描述文件傳送給宿主程序,宿主程序解析該描述文件并生成第三方界面。
2.如權(quán)利要求1所述的方法,其特征在于,宿主程序接收到描述文件后先生成相應(yīng)的動態(tài)界面,再將描述文件傳送給該動態(tài)界面,由動態(tài)界面解析描述文件并生成第三方界面。
3.如權(quán)利要求2所述的方法,其特征在于,用戶操作完第三方界面后,將從第三方界面獲得的信息生成數(shù)據(jù)包傳遞給宿主程序并關(guān)閉動態(tài)界面,然后由宿主程序?qū)?shù)據(jù)包傳送給第三方設(shè)備。
4.如權(quán)利要求1所述的方法,其特征在于,由第三方通過網(wǎng)絡(luò)將描述文件傳送給宿主程序。
5.如權(quán)利要求1或4所述的方法,其特征在于,傳送描述文件前先進行壓縮處理,在解析描述文件時先進行解壓縮處理。
6.如權(quán)利要求1或2所述的方法,其特征在于,宿主程序提供支持所述描述文件的控件能力集,當(dāng)接收到描述文件時通過執(zhí)行該能力集來生成動態(tài)界面。
7.如權(quán)利要求6所述的方法,其特征在于,由獨立的插件提供支持所述描述文件的控件能力集,當(dāng)宿主程序接收到描述文件時調(diào)用該插件來生成動態(tài)界面。
8.如權(quán)利要求1所述的方法,其特征在于,對第三方界面的描述中包含對屬性和動作的描述。
9.如權(quán)利要求1所述的方法,其特征在于,采用可擴展的標(biāo)記性語言(XML)、自定義文本文件、二進制文件或資源文件描述第三方界面。
全文摘要
本發(fā)明公開了一種在宿主程序界面中嵌入第三方界面的方法,該方法為將描述第三方界面的描述文件傳送給宿主程序;宿主程序生成動態(tài)界面,并將從第三方接收到的界面描述文本傳遞給該動態(tài)界面;所述動態(tài)界面解析描述文件,生成相應(yīng)的第三方界面并接受用戶操作;當(dāng)用戶填寫完并確認(rèn)操作完成后,動態(tài)界面把從第三方界面獲得的信息生成數(shù)據(jù)包傳遞給宿主程序,并關(guān)閉所述動態(tài)界面;以及由宿主程序?qū)⑺鰯?shù)據(jù)包透傳送給第三方設(shè)備。
文檔編號G06F9/44GK1629803SQ20031011743
公開日2005年6月22日 申請日期2003年12月18日 優(yōu)先權(quán)日2003年12月18日
發(fā)明者柴銀輝 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1