CN100593156C - Control-based insert management system and method for secondary development platform - Google Patents

Control-based insert management system and method for secondary development platform Download PDF

Info

Publication number
CN100593156C
CN100593156C CN200510098550A CN200510098550A CN100593156C CN 100593156 C CN100593156 C CN 100593156C CN 200510098550 A CN200510098550 A CN 200510098550A CN 200510098550 A CN200510098550 A CN 200510098550A CN 100593156 C CN100593156 C CN 100593156C
Authority
CN
China
Prior art keywords
plug
unit
control
module
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200510098550A
Other languages
Chinese (zh)
Other versions
CN1924800A (en
Inventor
孙庆文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING
Original Assignee
LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING filed Critical LINGTU SOFTWARE TECHNOLOGY Co Ltd BEIJING
Priority to CN200510098550A priority Critical patent/CN100593156C/en
Publication of CN1924800A publication Critical patent/CN1924800A/en
Application granted granted Critical
Publication of CN100593156C publication Critical patent/CN100593156C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

This invention provides one second exploring platform insert parts management system and method, wherein, the system comprises inner function module control parts, at least one plug parts with user definition function; interface agreement module and plug manage device; the said plug manage device comprises plug loading module, plug linkage module, requiring module. The invention method comprises the following steps: providing interface agreement with the communication connection and affair according to control part standard interface; then according to the agreement providing at least one plugparts with outside definition; keeping one plug tank in the part to load the part into the plug linkage.

Description

Insert management system and the method that are used for secondary developing platform based on control
Technical field
The present invention relates to a kind of insert management system and method, relate in particular to a kind of insert management system and method that is used for secondary developing platform based on control.
Background technology
Along with the development of computer software technology, increasing software users can use some simple programming tools (as script, VBA language) to develop the software function module that is fit to oneself requirement.Therefore, in the exploitation of now software platform, generally all require in product, can provide to allow user's function of customization function module voluntarily, satisfying the needs of user's reality, for the user provide convenience, fast, the function and the form of simple secondary development.
At present, the secondary developing platform that most software product provided is all with control (ActiveX) form issue, and platform feature that control is integrated offers the secondary development user with the form of interface method, attribute.In general, the control exploitation can be supported all kinds of visual programming language under the Windows, as Visual C++, Visual Basic, Borland Delphi.The secondary development user can select wherein a kind of development language according to self exploitation level, designs and develops application program based on control functionality.Under this control scheme, control provides interface all to be based on IDispatch, and the method and the attribute that can utilize interface to provide in the secondary development are realized a certain function in the application program.
The control technology has three characteristics in design:
1, function package: a software platform comprises numerous SDK (Software DevelopmentKit, SDK (Software Development Kit)), the control technology encapsulates these SDK exactly, give the secondary development user so that interface method simply, attribute are open, this encapsulation has greatly made things convenient for project application program ground simply, finish fast in detailed programs.
2, event response: the control technology has comprised the incident response mechanism, it can provide as data load, system withdraws from, mouse event and so on event message.The control event response can be notified based on a certain process of application program or the action of the exploitation of this control and state such as finish, cancels, carries out, and application program adopts some operations necessary to finish relevant action according to these event responses.
3, function finiteness: the function finiteness shows that SDK integrated in the control is a finite aggregate.
Above-mentioned last characteristic have illustrated that control functionality is limited, can only utilize these limited functions to finish some business based on these limited functions in the secondary development in project is used.Therefore, at the secondary development demand, though present software product platform nearly all provides the interface and the method for secondary development, but control is the combination or the encapsulation of function, that is to say that the function of all exploitations in secondary development just develops the combination once more of function in the control, and can't the custom block function.
For example, as shown in Figure 1, the pattern diagram by adopting when externally providing for existing control functionality.As can be seen from Figure 1, control encapsulates platform feature, the function that secondary development is come out is the combination that comprises function in the control, its essence is not the function of a User Defined exploitation, if in detailed programs were implemented, the on-site development personnel can't develop the function that does not possess in the control.
That is to say, if existing control only includes function 1, function 2, function 3, the module that in secondary development, is developed so, the so-called new function 1,2,3 that it has, can only be the combination of original function, and can't develop new function truly.
Yet, in fact, in the secondary development of user's reality, often require the functional module developing in the control not had according to the needs of self, but the control management system and the method for existing software platform have greatly limited this self-defined development mode.
Summary of the invention
Technical matters to be solved by this invention is to provide a kind of insert management system and method based on control that is used for secondary developing platform, solved the restricted problem that function of application expands, the user can be loaded and use according to self needs and the new functional module that self-defining original control does not have, the limited function set of original control is expanded to unlimited function set.
The invention provides a kind of insert management system that is used for secondary developing platform, comprise the control that is packaged with inner function module, also comprise based on control:
At least one has the plug-in unit of User Defined external function;
The interface protocol module in order to the standard interface according to control, provides the interface protocol of communication connection and event response for described plug-in unit;
Plugin manager is called in order to described at least one plug-in unit is organized for external program, and this plugin manager comprises:
The plug-in unit load-on module is used for described plug-in unit is loaded into described control;
Plug-in unit chain module is used for preserving in regular turn the plug-in unit that is loaded into control;
The plug-in unit enquiry module is used for searching the plug-in unit of preserving in the described plug-in unit chain module according to the external program instruction.
The present invention and then a kind of plug-in management method based on control that is used for secondary developing platform is provided, this method comprises the steps:
According to the standard interface of control, provide one to be connected the interface protocol that is consistent with event response with the communication of described control;
Abide by described interface protocol, provide at least one to have the plug-in unit of User Defined external function;
In described control, safeguard a plug-in unit chain, when application program launching,, described plug-in unit is loaded in the plug-in unit chain by the described interface protocol of control invokes.
The present invention also further comprises the steps:
According to the instruction of application program, in described plug-in unit chain, search the plug-in unit that has loaded by control, and return the address pointer of the plug-in unit of application program appointment;
According to the instruction of application program, in described plug-in unit chain, search the plug-in unit that has loaded by control, and return the address pointer of the plug-in unit of application program appointment.
The present invention provides users with the convenient, fast, simple secondary development form, make the user can use simple language just can customize the function and the module of self needs.By the present invention, the systemic-function that the user develops can detachment system platform independent operating, and has the look ﹠ feel of self, has greatly improved practicality and the dirigibility of control in application item.
Description of drawings
Pattern diagram by adopting when Fig. 1 externally provides for existing control functionality;
Fig. 2 is the example structure synoptic diagram based on the insert management system of control that is used for secondary developing platform of the present invention;
Fig. 3 is the inner structure embodiment synoptic diagram of plugin manager 204 of the present invention;
Fig. 4 is the plug-in management pattern embodiment synoptic diagram based on control that is used for secondary developing platform of the present invention;
Fig. 5 is the embodiment process flow diagram of loading procedure of the present invention;
Fig. 6 is an embodiment process flow diagram of searching and return the card address pointer process of application program appointment of the present invention.
Embodiment
As shown in Figure 2, be the example structure synoptic diagram that is used for secondary developing platform of the present invention based on the insert management system of control, comprise the control 201 that is packaged with inner function module, User Defined feature card 202, an interface protocol module 203, and a plugin manager 204.
Wherein, described interface protocol module 203 in order to the standard interface protocol according to control 201, provides the interface protocol of communication connection and event response for described plug-in unit 202; Plugin manager 204 is called in order to described at least one plug-in unit 202 is organized for external program.
As shown in Figure 3, the inner structure embodiment synoptic diagram for plugin manager 204 of the present invention comprises: plug-in unit load-on module 2041 is used for described plug-in unit is loaded into described control; Plug-in unit chain module 2042 is used for preserving in regular turn the plug-in unit that is loaded into control; Plug-in unit enquiry module 2043 is used for searching the plug-in unit of preserving in the described plug-in unit chain module according to the external program instruction.
It will be appreciated by those skilled in the art that each module of the present invention, for example plugin manager 204, both can unify design and be positioned among the control 201, also can independently exist.
By the interface protocol that described interface protocol module 203 provides, the interface definition of described plug-in unit 202 meets the standard interface definition of described control 201.
Described interface protocol module 203 comprises connection protocol unit and event protocol unit.Wherein, the connection protocol unit loads in order to functional definition, event definition and notice control in the plug-in unit to be provided, and comprising: plug-in unit loads gateway unit, and in order to function, the load events definition of explanation plug-in unit, and the notice control is done the connection bridge; Plug-in unit unloading gateway unit disconnects the connection bridge in order to the notice control, the unloading event definition; Reach plug-in unit and withdraw from gateway unit, in order to notify control to have plug-in unit to begin to withdraw from and to discharge the shared internal memory control of this plug-in unit.The event protocol unit, in order to the interactive operation of user and system to be provided, the incident that provides comprises: application event, document incident, viewport incident, scene event etc.
From Fig. 2, Fig. 3 as can be seen, the new feature card 202 of secondary development user exploitation, join in the control 201 by interface protocol module 203 of the present invention, remedy the deficiency that the control functionality finiteness is brought with this, simultaneously, control 201 has also kept original functions of modules, method and attribute that the user can utilize control to provide, reconfigure or directly use the functional module in the control, to reach the maximization of function.
As shown in Figure 4, be the plug-in management pattern embodiment synoptic diagram that is used for secondary developing platform of the present invention based on control, at first, according to the standard interface of control, provide one to be connected the interface protocol (step 401) that is consistent with event response with the communication of described control; Abide by described interface protocol, the plug-in unit (step 402) that provides at least one to have the User Defined external function; In plug-in unit chain module, safeguard a plug-in unit chain, when application program launching, call described interface protocol, described plug-in unit is loaded in the plug-in unit chain by the plug-in unit load-on module; (step 403); According to the instruction of application program, in described plug-in unit chain, search the plug-in unit that has loaded by the plug-in unit enquiry module, and return the address pointer (step 404) of the plug-in unit of application program appointment.
In addition, when application program withdrawed from, the present invention can also call described interface protocol, and the plug-in unit that will have been loaded by control unloads, and discharges by the shared internal memory of described loading of plug-in.
Interface protocol of the present invention can be based on COM (Component Object Model, The Component Object Model) exploitation, and control then is existing functional module in the platform to be encapsulated to provide out do secondary development.Described control can utilize ATL (Active Template Library, ATL) technology to realize COM, and passes through the bonding plug-in unit of COM in control, utilizes the control of ATL technology can observe the COM standard, and exploitation is used on various development language platforms.Realize that plug-in unit is loaded in the control, these plug-in units need the described control standard interface method and the event definition of adherence to standard, and this agreement mainly comprises connection protocol and event protocol:
Connection protocol: connection protocol is the initializtion protocol during plug-in unit loads, and finishes functional definition in the plug-in unit, event definition and notice control and loads.Concrete grammar can be as follows:
OnConnection, plug-in unit loads inlet, by this method function, the load events definition of plug-in unit can be described, and notify control to do the connection bridge.
OnDisconnection, plug-in unit unloading inlet can notify control to disconnect the connection bridge by this method, the unloading event definition.
OnBeginShutdown, plug-in unit withdraws from inlet, can inform that by this interface this plug-in unit of control begins to withdraw from and discharges the shared internal memory control of this plug-in unit.
Event protocol: incident is critical function of application program swap operation, has created event protocol by control, can realize user and system interaction operation by this agreement, as: mouse information response, keyboard message response.Described control mainly contains following a few class incident: application event, application event is caused by application object.When the user starts, close application program, new document, but firing event during viewport.The document incident, the document incident is caused by document object.But firing event when document is closed or opened.The viewport incident, the viewport incident is caused by the viewport object.This class incident is mainly used in the processing window message.Scene event, incident causes when scene changes.In addition, can also support other object incidents.
Card i/f agreement of the present invention is the bridge between control and the application plug, in application development, can utilize some simple development languages to go out to have the card module of new function based on the plug-in unit protocol development, then these are developed card module and when application system starts, be loaded in the control, can use the function in these plug-in units when moving in system so as required at any time with new function.Protocol contents has comprised plug-in unit notice control connection bridge, event notice content corresponding.
The present invention can in the application program launching of control exploitation, can be kept at the card module that loads in this plug-in unit chain at plug-in unit chain of control internal maintenance.Write according to the loading of plug-in agreement and to finish pin function and can load this plug-in unit by the AddPlugin method of control, parameter can also can be a plugin name for GUID (global unique identifier) character string of plug-in unit.
As shown in Figure 5, be loading method embodiment process flow diagram of the present invention, at first,, obtain plug-in unit CLSID corresponding number (step 501) with it according to the parameter name of described loading of plug-in; According to the described CLSID that obtains number, create this plug-in object (step 502); Whether successfully judge then and create plug-in object (step 503), if not, then (step 505) returned in failure; If create successfully, the plug-in unit that then calls described interface protocol loads the inlet agreement, the plug-in unit that loads is preserved in the plug-in unit chain, and write down the pairing CLSID of this plug-in unit number (step 504) simultaneously.
The plug-in unit that is loaded in the control will offer the application program use at any time in the application program operational process, during use, obtain the attribute of specific plug-in by control, the parameter that attribute imports into can be GUID character string or plugin name, returns to application program after searching then.As shown in Figure 6, be the plug-in method embodiment process flow diagram of searching and return the application program appointment of the present invention, at first, discern the plugin name that imports into or ID character string whether correct (step 601); Obtain CLSID number (step 602) of corresponding plug-in unit according to this parameter; According to this CLSID number, from the plug-in unit chain, search plug-in unit (step 603) with identical CLSID number; Judge whether then to search successfully (step 604),, then return sky (step 606) if do not find; Otherwise, return the address pointer (step 605) of the plug-in unit that finds out.
Card module in the control of the present invention can be on Visual C++, Visual Basic, BorlandDelphi language platform, the secondary development user can select a kind ofly to be familiar with according to actual needs, quick, simple language is developed card module, develops than being easier to.In the software application of reality, different user has different requirements, utilizes the plug-in management technology based on control of the present invention, can cope with shifting events by sticking to a fundamental principle, promptly keep the due function combinations of control, in secondary development, provide good expansion platform for the user again.

Claims (9)

1, a kind of insert management system based on control that is used for secondary developing platform comprises the control that is packaged with inner function module, it is characterized in that, also comprises:
At least one has the plug-in unit of User Defined external function;
The interface protocol module in order to the standard interface according to control, provides the interface protocol of communication connection and event response for described plug-in unit;
Plugin manager is called in order to described at least one plug-in unit is organized for external program, and this plugin manager comprises:
The plug-in unit load-on module is used for described plug-in unit is loaded into described control;
Plug-in unit chain module is used for preserving in regular turn the plug-in unit that is loaded into control;
The plug-in unit enquiry module is used for searching the plug-in unit of preserving in the described plug-in unit chain module according to the external program instruction.
2, the system as claimed in claim 1 is characterized in that, described plugin manager is positioned among the described control.
3, the system as claimed in claim 1 is characterized in that, by the interface protocol that described interface protocol module provides, the interface definition of described plug-in unit meets the standard interface definition of described control.
4, the system as claimed in claim 1 is characterized in that, described interface protocol module comprises:
The connection protocol unit loads in order to functional definition, event definition and notice control in the plug-in unit to be provided, and comprising:
Plug-in unit loads gateway unit, and in order to function, the load events definition of explanation plug-in unit, and the notice control is done the connection bridge;
Plug-in unit unloading gateway unit disconnects the connection bridge in order to the notice control, the unloading event definition; And
Plug-in unit withdraws from gateway unit, in order to notify control to have plug-in unit to begin to withdraw from and to discharge the shared internal memory control of this plug-in unit; And
The event protocol unit, in order to the interactive operation of user and system to be provided, the incident that provides comprises: application event, document incident, viewport incident, scene event; Described viewport incident is meant the incident that is used to handle window message.
5, a kind of the described secondary developing platform of claim 1 carry out the method for plug-in management based on the insert management system of control, it is characterized in that this method comprises the steps:
According to the standard interface of control, provide one to be connected the interface protocol that is consistent with event response with the communication of described control;
Abide by described interface protocol, provide at least one to have the plug-in unit of User Defined external function;
In plug-in unit chain module, safeguard a plug-in unit chain, when application program launching, call described interface protocol, described plug-in unit is loaded in the plug-in unit chain by the plug-in unit load-on module;
According to the instruction of application program, in described plug-in unit chain, search the plug-in unit that has loaded by the plug-in unit enquiry module, and return the address pointer of the plug-in unit of application program appointment.
6, method as claimed in claim 5 is characterized in that, also further comprises the steps:
When application program withdraws from, call described interface protocol, the plug-in unit that will have been loaded by control unloads, and discharges by the shared internal memory of described loading of plug-in.
7, method as claimed in claim 5 is characterized in that, the interface protocol of described plug-in unit comprises:
Connection protocol loads in order to functional definition, event definition and notice control in the plug-in unit to be provided, and comprising:
Plug-in unit loads the inlet agreement, and in order to function, the load events definition of explanation plug-in unit, and the notice control is done the connection bridge;
Plug-in unit unloading inlet agreement disconnects the connection bridge in order to the notice control, the unloading event definition; And
Plug-in unit withdraws from the inlet agreement, in order to notify control to have plug-in unit to begin to withdraw from and to discharge the shared internal memory control of this plug-in unit; And
Event protocol, in order to the interactive operation of user and system to be provided, the incident that provides comprises: application event, document incident, viewport incident, scene event; Described viewport incident is meant the incident that is used to handle window message.
8, method as claimed in claim 5 is characterized in that, described loading of plug-in step comprises the steps:
According to the parameter of described plug-in unit, to obtain plug-in unit CLSID corresponding number with it, wherein said parameter is loaded the GUID character string of plug-in unit for this, or the title of this plug-in unit;
According to the described CLSID that obtains number, create this plug-in object;
Judge to create the whether success of this plug-in object,,, then call described interface protocol, plug-in unit is preserved in the plug-in unit chain, and preserved the pairing CLSID of this plug-in unit number if create successfully if unsuccessful then failure is returned.
9, method as claimed in claim 5 is characterized in that, the described card address pointer step of searching and return the application program appointment comprises the steps:
The correctness of the plug-in unit parameter that identification is imported into, wherein said parameter is the GUID character string of specific plug-in, or the title of this plug-in unit;
Obtain CLSID number of corresponding plug-in unit according to parameter;
According to this CLSID number, from the plug-in unit chain, search plug-in unit with identical CLSID number;
Judge whether then to search successfully,, then return sky, otherwise return the address pointer of the plug-in unit that finds out if do not find.
CN200510098550A 2005-09-02 2005-09-02 Control-based insert management system and method for secondary development platform Active CN100593156C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200510098550A CN100593156C (en) 2005-09-02 2005-09-02 Control-based insert management system and method for secondary development platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200510098550A CN100593156C (en) 2005-09-02 2005-09-02 Control-based insert management system and method for secondary development platform

Publications (2)

Publication Number Publication Date
CN1924800A CN1924800A (en) 2007-03-07
CN100593156C true CN100593156C (en) 2010-03-03

Family

ID=37817456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510098550A Active CN100593156C (en) 2005-09-02 2005-09-02 Control-based insert management system and method for secondary development platform

Country Status (1)

Country Link
CN (1) CN100593156C (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9250926B2 (en) 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
CN101699405B (en) * 2009-10-26 2014-06-11 中兴通讯股份有限公司 Method and device for interaction between host program and plug-in and interaction between plug-ins
CN101950255A (en) * 2010-09-16 2011-01-19 深圳市迎风传讯科技有限公司 Plug-in management method, plug-in manager and set top box
CN102163162A (en) * 2011-04-26 2011-08-24 北京思创银联科技股份有限公司 Task management method
CN103365674B (en) * 2012-03-31 2018-05-11 腾讯科技(深圳)有限公司 A kind of plug-in management method based on mobile terminal, device and system
CN103164239B (en) * 2012-12-11 2014-11-19 广东电网公司电力科学研究院 Plug-in implement method based on micro network visual platform
CN103544005B (en) * 2013-09-10 2017-08-08 Tcl集团股份有限公司 A kind of regarded as output controlling method and device of Android self-defined controls
CN103617044B (en) * 2013-12-10 2017-02-15 北京市计算中心 Control method for secondary development program execution
CN103645919A (en) * 2013-12-18 2014-03-19 用友软件股份有限公司 Method for extending functions of management information system through plugins
CN104932887B (en) * 2015-06-12 2018-02-02 北京京东尚科信息技术有限公司 The plug-in management method and plateform system of a kind of plateform system
CN107544820A (en) * 2016-06-29 2018-01-05 平安科技(深圳)有限公司 Diagrammatic representation method and device
CN106371864A (en) * 2016-08-23 2017-02-01 上海创景计算机系统有限公司 Method for quickly deploying plugin architecture
CN108153533B (en) * 2016-12-02 2020-12-11 腾讯科技(深圳)有限公司 Method and device for making installation program, and method and device for installing program
CN107332730B (en) * 2017-06-19 2020-04-21 北京奇艺世纪科技有限公司 Protocol extensible service availability detection system and method
CN108564946B (en) * 2018-03-16 2019-09-20 苏州思必驰信息科技有限公司 Technical ability, the method and system of voice dialogue product are created in voice dialogue platform
CN109542043A (en) * 2018-10-31 2019-03-29 武汉华中数控股份有限公司 A kind of digital control system management method and device based on plug-in unit
CN113010218A (en) * 2019-12-20 2021-06-22 中国移动通信集团陕西有限公司 Plug-in loading method and device, computing equipment and computer storage medium

Also Published As

Publication number Publication date
CN1924800A (en) 2007-03-07

Similar Documents

Publication Publication Date Title
CN100593156C (en) Control-based insert management system and method for secondary development platform
US6334158B1 (en) User-interactive system and method for integrating applications
AU2005229697B2 (en) Method and apparatus for metadata driven business logic processing
CN111353235B (en) Component port modeling method based on model drive and terminal
CN111913734A (en) On-line development platform based on micro-service technology system
CN103425468B (en) Plug-in type software integrating method and device
CN102495735A (en) Web end UI (user interface) component application frame system
CN102541996A (en) JDBC (java database connectivity) based data access layer building method and device utilizing same
CN108089861A (en) It is a kind of from SysML model conversions to the conversion method of AltaRica models
CN104699518B (en) A kind of general-purpose meter reader adapter and its implementation based on micro-kernel plug-in unit
CN104850498B (en) A kind of filling information method of testing and system
CN102982217B (en) The treating method and apparatus of silk-screen
CN101046746B (en) Code management in a distributed software development environment
CN102609266A (en) Flex-based rich client platform system and operation method therefor
US8392298B2 (en) Invoice adjustment data object for a common data object format
CN103593188A (en) System and method for managing what-you-see-is-what-you-get menus of instrument
CN114356430B (en) DAG dependent configuration tool based on airflow scheduling system
US9176746B2 (en) Data templates in user interface elements
CN115794076A (en) Model-driven customization-based method, system, electronic device and storage medium
CN103714035B (en) Multilayer software bus structure for integrated environment
CN111274750B (en) FPGA simulation verification system and method based on visual modeling
Stojanovic et al. An approach to component-based and service-oriented system architecture design
CN112642157B (en) Agent development control method and corresponding device, equipment and medium thereof
CN104657261A (en) Test case generation method and test case generation system
CN117032907B (en) Mobile terminal assembly containerization method and APP container system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant