Introduction-Overview
OLE/ActiveX/COM technology is the core application technology of Ms. Only by thoroughly understanding the essence of its theory can it remain unchanged.
Let's start with Ole.
I. Past Ole and today's Ole
As the predecessor of COM technology, Ole initially meant to link between programs and embed object link embeded ). It provides a means to create a hybrid document (Senior Windows 3.x users may remember the novelty and joy of inserting a graph in word6.0. For the composite document, I will introduce it in detail later ), this makes it easy for users who do not have much expertise to coordinate multiple applications to create a hybrid document. The ole1.0 specification formulated in 1991 mainly addresses communication and message transmission among multiple applications. Microsoft hopes that third-party developers can comply with this specification, in this way, applications on the current Windows platform can coordinate with each other to improve work efficiency. However, few software developers support it. To this end, Microsoft released a new specification, ole2.0, in 1993, which improves and enhances the performance in the following aspects:
1. OLE Automation: the ability of one program to control another program in a planned manner.
2. ole control: a small component program that can be embedded into another program and provide its own proprietary functions.
3. Ole documentation: Improves the early mixed documentation functions. It not only supports simple links and embedding, but also supports on-site activation, drag-and-drop, and other functions.
Powerful functions enable many developers to support the new OLE technology, because Microsoft established a new specification called COM (Component Object Model) in ole2.0.
Ii. Ole application and Related Terms
Container:
A container is a client program that has the ability to apply for and use other COM components to implement other programs through interfaces;
Server:
The server provides its own functions through specific interfaces to use its own applications (for example, the paint brush program is a document server that provides the ability to create and edit BMP images ). When the word is opened, select [object...] under [insert... you can see which file servers exist in your system. Word appears as a document container.
Active in place:
After you double-click the inserted object, you will find that the word menu is changed to the file server program menu. You can edit the object in the current environment, which is called in-place activation.
Automation:
Similar to Ole documentation technology, the technology that allows an application to programmatically control the functionality that another application "voluntarily" provides is called OLE automation. Applications that expose some programmable objects to other programs are called Automated servers. Applications that utilize and manipulate the functions provided by automated servers are called Automated customers or automated controllers, some programs are both automated servers and controllers. For example, in VC, we can create and edit an Excel worksheet through programming (many reference books take this as an example). Here VC is the automation controller, while the EXCEL program for creating a worksheet is the Automation server, however, in Excel, we can use VBA to create PowerPoint slides, which becomes an automatic controller. OLE Automation technology can be used to achieve one-time software development and multiple exploitation, which is also a key technology for integrating components. Both the operating system and application software are developing in this direction. For example, starting from Windows95, including the shell of the operating system after windowsnt4.0, OLE Automation technology is implemented. So what is ActiveX? What does it have to do with Ole?
Iii. ActiveX strategy
Compared with ole1.0, which has earlier weak functions, ole2.0 is supported by many software vendors. Many program designers write a large number of components (not necessarily EXE files) that implement the functions of OLE Automation Servers. These components are generally not functional and powerful, but implement special functions, it can be programmed and controlled by other programs. Therefore, the name of OLE is known as ole control. Their extensions in file names are generally ocx (OLE Control extension ). Microsoft has just won the support of a wide range of software vendors, making OLE technology deeply rooted in the hearts of the people. However, "people are not as good as computing", and the speeding development of the Internet makes Bill Gates unexpected. In addition, the early ole1.0 was unpopular, which led to the fact that people always inserted a graph in Word as the whole of OLE technology. The names of various materials were not uniform when introducing the new OLE technology, this can cause great confusion. In response to these situations, Microsoft re-formulated an ole 96 specification in 1996. This Specification extends the capabilities of the OLE Control and implements Microsoft's Internet strategy to make it easier to use in the network environment. It also considers the issue of name confusion, re-label the OLE Control-ActiveX control. In addition, the previous Ole documents are also known as ActiveX documents. In short, in order to meet the internet strategy, Microsoft switched OLE to ActiveX, in an attempt to make people review the new ole-ActiveX, and regard it as a standard for solving software component problems on the network. Many vendors with good cooperation with Microsoft on Windows began to support ActiveX technology when developing new versions of software, such as Delphi, powerbuild and other development tools. Previously, the operating systems competing with Windows began to support ActiveX, such as Macintosh, and even the old rival OS/2 can also use ActiveX controls. ActiveX technology may actually become a standard that competing to be supported by different platforms. If ActiveX can be further improved, more open policies can be adopted, and Microsoft cannot be unloaded into eight major modules.