程序系统以及程序扩充方法

文档序号:6470010阅读:308来源:国知局
专利名称:程序系统以及程序扩充方法
技术领域
本发明是关于一种程序系统以及程序扩充方法,并且特别地,本发明是关于一 种不须修改软件元件的原始程序代码即可扩充软件元件功能的程序系统以及程序 扩充方法。
背景技术
由于近年半导体以及电脑技术的快速,电脑的硬件功能日益强大,同时,电脑 软件的功能也必须随之进步以有效使用硬件效能。此外,现今电子产品均强调多功 能性,因此,其应用软件功能的扩充方法成为各方研究重点。
于先前技术中, 一般扩充软件功能的方法是修改程序的原始程序代码,并且对 修改后的程序代码进行编译和链接以完成扩充。然而,此种扩充方法需要程序设计 师经过复杂的编写过程才能完成功能扩充,因此,其开发成本较高。此外,由于这 种扩充方式必须修改原始程序代码,也可能会发生扩充了新功能但原有功能错误的 状况。
另一方面,先前技术中扩充软件功能的方法也可先编写一段可提供扩充功能的 扩充程序代码,再修改原程序代码使程序指向扩充程序代码开始执行的位置,进而 实现程序扩充功能的目的。然而,此种扩充方法仍须对程序原始码进行部分修改, 因此也具有上一程序扩充方法的缺点。另外,此种扩充方法也可能提供病毒侵入的 接口。
综上所述,先前技术中的程序扩充方法均须对程序原始码做修改,因此皆存在 上述问题。

发明内容
因此,本发明的一目的在于提供一种程序系统,以解决上述问题。 根据本发明一方面提供一种程序系统,其包含软件元件、程序呼叫端以及延伸 模块。软件元件包含接收/处理接口以及多个第一衔接接口,其中,程序呼叫端可通过接收/处理接口传送设定信息至软件元件。延伸模块是对应这些第一衔接接口 的其中之一,并且延伸模块包含一扩充内容。
于本发明中,软件元件可通过第一衔接接口的其中之一与延伸模块产生连结关 系,并且,软件元件可根据设定信息与延伸模块沟通,进而获得扩充内容。于实务 中,软件元件可执行扩充内容所对应的功能,而达到扩充软件元件功能的效果。
本发明的另一目的在于提供一种程序扩充方法,可应用于程序系统中以扩充其 软件元件的功能,以解决上述问题。
根据本发明另一方面提供一种程序扩充方法,该方法包含下列步骤首先,储 存包含扩充内容的延伸模块;接着,软件元件通过多个第一衔接接口的其中之一与 延伸模块产生连结关系;接着,程序呼叫端通过接收/处理接口传送设定信息至软 件元件;最后,软件元件根据设定信息与延伸模块沟通,进而获得扩充内容。于实 务中,软件元件可执行扩充内容所对应的功能,而达到扩充软件元件功能的效果。
于本发明中,当软件元件通过第一衔接接口与延伸模块产生连结关系时,软件 元件可通知程序呼叫端,此外,程序呼叫端可据以产生关于连结关系的回应事件。 于实务中,此回应事件可为程序呼叫端宣告其获得扩充内容。


关于本发明的优点与精神可以通过以下配合附图对本发明的详述得到进一步 的了解,其中
图1是根据本发明的一具体实施例的程序系统的示意图。 图2是根据本发明的另一具体实施例的程序系统的示意图。 图3是根据本发明的另一具体实施例的程序系统的示意图。
图4是根据本发明的一具体实施例的程序扩充方法的步骤流程图。 图5是根据本发明的另一具体实施例的程序扩充方法的步骤流程图。
具体实施例方式
请参阅图1,图1是根据本发明的一具体实施例的程序系统1的示意图。如图 1所示,程序系统1中的软件元件10可包含接收/处理接口 100以及第一衔接接口 102。此外,程序呼叫端12是对应于软件元件10,程序呼叫端12可通过接收/处理 接口 IOO传送设定信息16至软件元件10。
于本具体实施例中,延伸模块14是对应软件元件10的第一衔接接口 102,并且,延伸模块14包含扩充内容140。软件元件IO可通过第一衔接接口 102与延伸 模块14产生连结关系,并且,根据接收/处理接口 100自程序呼叫端12所接收的 设定信息16,软件元件IO可与延伸模块14沟通,进而获得扩充内容140。
于实务中,设定信息16是使用者通过程序呼叫端12所输入的信息,其可包含, 但不受限于,特征(property)、呼叫方法(method)或事件(event)等。当接收/处理接口 IOO接收设定信息16后,接收/处理接口 100或软件元件10会根据设定信息16搜 寻相对应的第一衔接接口 102,并且可通过第一衔接接口 102与延伸模块14沟通, 进而获得扩充内容140。
于实务中,当软件元件10通过第一衔接接口 102与延伸模块14沟通并获得扩 充内容140后,软件元件10可执行对应扩充内容140的功能。此外,延伸模块14 于实务中可为动态链接程序库,并且,其扩充内容140可包含扩充画面或是扩充功 能。举例而言,若扩充内容140为扩充画面,软件元件IO可于显示器上显示关于 软件元件10的设定画面或是软件元件10实际执行的画面,例如,于显示器上显示 一按钮(软件元件IO)的按钮图标或设定此按钮大小的设定画面。
另一方面,扩充内容140于实务中若为扩充功能,软件元件10可以执行该扩 充功能。举例而言,若扩充内容140为搜寻硬件的功能,软件元件10可根据扩充 内容140搜寻指定的硬件装置。另外,若扩充内容140为设定硬件的功能,软件元 件10则可根据扩充内容140设定指定的硬件装置。
综上所述,软件元件10可与对应第一衔接接口 102的延伸模块14建立连结关 系。于实务中使用者可通过程序呼叫端12传送设定信息16至软件元件10,并且, 软件元件10可根据设定信息16并通过连结关系与延伸模块14沟通,进而获得扩 充内容140。软件元件10获得扩充内容140后可执行扩充内容140所包含的扩充 内容或扩充画面,借此,可不须修改软件元件10的原始程序代码而扩充其画面及 功能。
请参阅图2,图2是根据本发明的另一具体实施例的程序系统1的示意图。如 图2所示,本具体实施例与上一具体实施例不同处,在于本具体实施例的延伸模块 14进一步包含第二衔接接口 142,其中,第二衔接接口 142是与第一衔接接口 102 相对应。于本具体实施例中,软件元件IO可通过第一衔接接口 102以及第二衔接 接口 142与延伸模块14沟通进而获得扩充内容140。
进一步地,请参阅图3,图3是根据本发明的另一具体实施例的程序系统1的 示意图。如图3所示,本具体实施例与上一具体实施例不同处,在于本具体实施例的程序系统1包含多个延伸模块14、 14,、 14"以及14",。请注意,于本具体实施 例中,各延伸模块14、 14,、 14"以及14",分别包含具有不同功能的扩充内容140、 140,、 140"以及140'",例如,扩充内容140具有延伸画面功能,扩充内容140", 则具有硬件设定功能。于本具体实施例中,各延伸模块系以各第二衔接接口配合相 对应的第一衔接接口与软件元件IO而产生连结关系,因此,于实务中软件元件可 根据设定信息16搜寻相对应的第一衔接接口以沟通各延伸模块。请注意,本具体 实施例的程序系统l的其它单元均与上述具体实施例相同,于此不再赘述。
举例而言,若第一衔接接口 102'是对应搜寻功能,因此,包含具有搜寻功能 的扩充内容140'的延伸模块14'可进一步包含对应于第一衔接接口 102'的第二衔接 接口 142',并通过第二衔接接口 142'以及第一衔接接口 102,与软件元件IO产生连 结关系。当使用者欲扩充软件元件10使其具有搜寻功能时,可通过程序呼叫端12 传送设定信息16至接收/处理接口 100,接着软件元件IO会根据设定信息16找到 第一衔接接口 102,,进而通过第一衔接接口 102,以及第二衔接接口 142,沟通延伸 模块14'以获得具有搜寻功能的扩充内容140'。
请注意,于实务中,根据第一衔接接口以及第二衔接接口的不同,可分别设计 相对应的沟通方式。举例而言,软件元件若根据设定信息找到关于搜寻功能的第一 衔接接口,并且此第一衔接接口能与相对应的第二衔接接口以及具有搜寻功能的延 伸模块连结,软件元件即可以关于搜寻功能的沟通方法与延伸模块沟通。同样地, 若第一衔接接口以及第二衔接接口系关于元件画面设定功能,软件元件即可以关于 元件画面设定功能的沟通方法与延伸模块沟通。
如上所述,软件元件仅须包含对应延伸模块的第一衔接接口,即可与各种延伸 模块沟通并获得其扩充内容,因此,并不须修改软件元件的原始程序代码,即可达 到扩充软件元件功能的效果。
根据另一具体实施例,当上述软件元件通过第一衔接接口以及第二衔接接口与 延伸模块产生连结关系时,软件元件可通知程序呼叫端,并且程序呼叫端可据以产 生关于此连结关系的回应事件,其中,此回应事件可为程序呼叫端宣告其获得延伸 模块的扩充内容。
举例而言,当具有搜寻功能的延伸模块通过相对应的第一衔接接口以及第二衔 接接口与软件元件产生连结关系时,软件元件可通知程序呼叫端其与具有搜寻功能 的延伸模块产生连结关系,接着,程序呼叫端据以产生关于此连结关系的回应事件, 亦即,程序呼叫端宣告软件元件获得具有搜寻功能的扩充内容。因此,于实务中,
7使用者可通过回应事件得知软件元件具有哪些扩充功能。
此外,根据另一具体实施例,当使用者欲得知软件元件具有何种扩充功能时, 使用者也可通过程序呼叫端通过接收/处理接口传送搜寻指令至软件元件以搜寻软 件元件的扩充功能,接着软件元件可根据搜寻指令搜寻关于此扩充功能的连结关 系,并且根据搜寻结果回复该程序呼叫端。
举例而言,若使用者欲得知软件元件是否具有硬件设定的扩充功能,即可通过 程序呼叫端传送关于此功能的搜寻指令至软件元件。软件元件接收此搜寻指令后据 以搜寻是否有软件元件与硬件设定延伸模块所产生的连结关系,并将搜寻结果回复 至程序呼叫端。因此,使用者可根据搜寻结果得知软件元件是否具有硬件设定功能。
另一方面,于实务中,各延伸模块可置入特定目录,并通过特定路径与第一衔 接接口以及软件元件产生连结关系。请注意,各延伸模块可置入同一目录并通过一 特定路径与软件元件产生连结关系,或是分别置入不同目录并分别通过多条特定路 径与软件元件产生连结关系,其端看使用者或设计者需求而定。
请参阅图4,图4是根据本发明的一具体实施例的程序扩充方法的步骤流程图。 如图4所示,本具体实施例的程序扩充方法包含下列步骤于步骤S20,储存包含 扩充内容的延伸模块;于步骤S22,软件元件通过第一衔接接口与延伸模块产生连 结关系;于步骤S24,程序呼叫端通过接收/处理接口传送设定信息至软件元件; 于步骤S26,软件元件根据设定信息与延伸模块沟通,进而获得扩充内容。
以下将详述本具体实施例的程序扩充方法各步骤的细节。于步骤S20中,延 伸模块是储存于特定目录中,并且,于实务中,若储存多个延伸模块,可将其储存 于单一特定目录或分别储存于多个特定目录,端看使用者或设计者需求而定。此外, 于实务中,延伸模块可为,但不受限于,动态链接程序库。
于步骤S22,软件元件的第一衔接接口可通过特定路径指向储存于特定目录中 的延伸模块,并与其产生连结关系。第一衔接接口的种类是对应于延伸模块的种类, 举例而言,若延伸模块包含具有搜寻功能的扩充内容,第一衔接接口则须为关于搜 寻功能的第一衔接接口而与延伸模块产生连结关系。于实务中,软件元件内可设置 多种关于不同扩充功能的第一衔接接口,并且各延伸模块可分别包含关于其扩充功 能的第二衔接接口。当具有一扩充功能的延伸模块储存于特定目录时,对应此扩充 功能的第一衔接接口可与延伸模块的第二衔接接口产生连结关系,亦即,软件元件 通过此第一衔接接口以及第二衔接接口产生连结关系。
于步骤S24,程序呼叫端所传送的设定信息于实务中可为,但不受限于特征、呼叫方法或事件等。此外,软件元件可根据设定信息指向一第一衔接接口。换言之, 使用者可通过传送关于一扩充功能的设定信息使软件元件指向关于该扩充功能的 第一衔接接口。
于步骤S26,软件元件根据设定信息指向关于该扩充功能的第一衔接接口,并 通过第一衔接接口与延伸模块沟通而获得其扩充内容。于实务中,软件元件可通过 第一衔接接口以及相对应的第二衔接接口与延伸模块产生连结关系,因此,软件元 件可通过第一衔接接口以及相对应的第二衔接接口与延伸模块沟通以获得扩充内 容。
于实务中,软件元件于获得扩充内容后可执行扩充内容所包含的扩充功能或是 扩充画面。举例而言,若扩充内容包含搜寻功能,软件元件可于获得扩充内容后执 行搜寻功能。
综上所述,本发明的程序扩充方法可不须修改软件元件的原始程序代码,仅须 将对应于软件元件内的各种第一衔接接口的延伸模块与软件元件连结,即可达到扩 充软件元件功能的效果。
请参阅图5,图5是根据本发明的另一具体实施例的程序扩充方法的步骤流程 图。如图5所示,本具体实施例与上一具体实施例不同处,在于本具体实施例的程 序扩充方法进一步包含下列步骤于步骤S220,当软件元件通过第一衔接接口与 延伸模块产生连结关系时,通知程序呼叫端,并且程序呼叫端产生关于连结关系的 回应事件。
于本具体实施例中,步骤S220的程序呼叫端所产生的回应事件,是程序呼叫 端宣告其获得扩充内容。举例而言,若延伸模块包含具有搜寻功能的扩充内容,则 当软件元件与延伸模块产生连结关系后,软件元件可通知程序呼叫端并且程序呼叫 端据以宣告软件元件具有搜寻功能。因此,于实务中,使用者可通过回应事件得知 软件元件具有哪些扩充功能。
此外,根据另一具体实施例,当软件元件通过第一衔接接口与延伸模块产生连 结关系时,软件元件并不须主动通知程序呼叫端。当使用者欲得知软件元件具有何 种扩充功能时,使用者可通过程序呼叫端通过接收/处理接口传送搜寻指令至软件 元件以搜寻软件元件的扩充功能,接着软件元件可根据搜寻指令搜寻关于此扩充功 能的连结关系,并且根据搜寻结果回复该程序呼叫端。
举例而言,若使用者欲得知软件元件是否具有硬件设定的扩充功能,即可通过 程序呼叫端传送关于此功能的搜寻指令至软件元件。软件元件接收此搜寻指令后据以搜寻是否有软件元件与硬件设定延伸模块所产生的连结关系,并将搜寻结果回复 至程序呼叫端。因此,使用者可根据搜寻结果得知软件元件是否具有硬件设定功能。
相较于先前技术,本发明的程序系统以及程序扩充方法是于软件元件中设置各 种第一衔接接口,并且于延伸模块上设置关于延伸模块的扩充功能的第二衔接接 口。通过第二衔接接口以及相对应的第一衔接接口,软件元件可与延伸模块沟通以 获得延伸模块所包含的扩充内容,并且可进一步执行扩充内容所包含的扩充功能。 借此,不须修改软件元件的原始程序代码即可扩充软件元件的功能,进而节省开发 成本,并避免原有功能错误的状况发生。
通过以上较佳具体实施例的详述,是希望能更加清楚描述本发明的特征与精 神,而并非以上述所揭露的较佳具体实施例来对本发明的范围加以限制。相反地, 其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的 范畴内。因此,本发明所申请的专利范围应该根据上述的说明作最宽广的解释,以 致使其涵盖所有可能的改变以及具相等性的安排。
权利要求
1.一种程序系统,包含一软件元件,包含一接收/处理接口以及N个第一衔接接口,N是大于或等于1的正整数;一程序呼叫端,对应该软件元件,用以通过该接收/处理接口传送一设定信息至该软件元件;以及一延伸模块,对应该N个第一衔接接口中之一,并且该延伸模块包含一扩充内容;其中该软件元件通过该N个第一衔接接口中之一与该延伸模块产生一连结关系,并能根据该设定信息与该延伸模块沟通以获得该扩充内容。
2. 根据权利要求1所述的程序系统,其特征在于当该软件元件通过该N个第 一衔接接口中之一与该延伸模块产生该连结关系时,该软件元件通知该程序呼叫 端,并且该程序呼叫端产生关于该连结关系的一回应事件。
3. 根据权利要求2所述的程序系统,其特征在于该回应事件是该程序呼叫端 宣告其获得该扩充内容。
4. 根据权利要求1所述的程序系统,其特征在于该程序呼叫端能通过该接收/ 处理接口传送一搜寻指令至该软件元件,该软件元件能根据该搜寻指令搜寻该连结 关系并根据搜寻结果回复该程序呼叫端。
5. 根据权利要求1所述的程序系统,其特征在于该设定信息包含选自由特征、 呼叫方法以及事件所组成群组中的至少一个。
6. 根据权利要求1所述的程序系统,其特征在于该延伸模块是一动态链接程 序库。
7. 根据权利要求1所述的程序系统,其特征在于该延伸模块包含一第二衔接 接口,用以配合该N个第一衔接接口中之一以产生该连结关系。
8. 根据权利要求1所述的程序系统,其特征在于该扩充内容包含一扩充画面 或扩充功能。
9. 根据权利要求8所述的程序系统,其特征在于该扩充画面包含一设定画面 或一元件画面。
10. 根据权利要求8所述的程序系统,其特征在于该扩充功能包含搜寻功能或硬件设定功能。
11. 一种程序扩充方法,应用于一程序系统中,该程序扩充方法包含下列步骤 储存一延伸模块,该延伸模块包含一扩充内容;一软件元件通过N个第一衔接接口中之一与该延伸模块产生一连结关系,N 是大于或等于1的正整数;一程序呼叫端通过一接收/处理接口传送一设定信息至该软件元件;以及 该软件元件根据该设定信息与该延伸模块沟通以获得该扩充内容。
12. 根据权利要求11所述的程序扩充方法,其特征在于进一步包含下列步骤 当该软件元件通过该N个第一衔接接口中之一与该延伸模块产生该连结关系时,该软件元件通知该程序呼叫端,并且该程序呼叫端产生关于该连结关系的一回 应事件。
13. 根据权利要求12所述的程序扩充方法,其特征在于该回应事件是该程序 呼叫端宣告其获得该扩充内容。
14. 根据权利要求11所述的程序扩充方法,其特征在于进一步包含下列步骤 该程序呼叫端通过该接收/处理接口传送一搜寻指令至该软件元件;以及 该软件元件根据该搜寻指令搜寻该连结关系并根据搜寻结果回复该程序呼叫端。
15. 根据权利要求11所述的程序扩充方法,其特征在于该设定信息包含选自 由特征、呼叫方法以及事件所组成群组中的至少一个。
16. 根据权利要求11所述的程序扩充方法,其特征在于该延伸模块是一动态 链接程序库。
17. 根据权利要求11所述的程序扩充方法,其特征在于该延伸模块包含一第 二衔接接口 ,用以配合该N个第一衔接接口中之一以产生该连结关系。
18. 根据权利要求11所述的程序扩充方法,其特征在于该扩充内容包含一扩 充画面或扩充功能。
19. 根据权利要求18所述的程序扩充方法,其特征在于该扩充画面包含一设 定画面或一元件画面。
20. 根据权利要求18所述的程序扩充方法,其特征在于该扩充功能包含搜寻 功能或硬件设定功能。
全文摘要
本发明提供一种程序系统,其包含一软件元件、一程序呼叫端以及N个延伸模块。该软件元件包含一接收/处理接口及N个第一衔接接口;该程序呼叫端可用以通过该接收/处理接口传送一设定信息至该软件元件;各延伸模块分别对应该N个第一衔接接口中之一并且分别包含一扩充内容。借此,该软件元件能通过该第一衔接接口与该N个延伸模块中对应于该设定信息的一延伸模块产生一连结关系,进而与该延伸模块沟通以获得该扩充内容。
文档编号G06F9/44GK101676867SQ20081021317
公开日2010年3月24日 申请日期2008年9月18日 优先权日2008年9月18日
发明者叶俊杰, 辜英宪, 陈伊俐, 陈俊良 申请人:凌华科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1