Sie sind auf Seite 1von 36

COM , OLE concept

By topgun src = Write Ole Control

Java

Java app Java virtual machine Java machine x86 instruction set

Java app
Java virtual machine Java machine Sparc instruction set

OLE
OLE(activex) COM binary standard

x86 instruction set

COM object

OLE(control) COM

OLE(automation) COM

script

binary standard

binary standard
x86 instruction set

Object


Browser

Active x Container

Java applet

Activex control

Activex relationship

(container)

Activex automation (Server)

Activex control (Client)

Active X technology

OLE(Active x) Automation (Server) OLE(Active x) Document OLE(Active x) Control .

Client-Server Model

Server COM object

Client Com object

OLE architecture

Local and In-process Server (1)

Local Server

In-process Server

Local and In-process Server (2)


Local Server Local Server live in EXE file. Client and local sever live in different process space. The OLE library take care of passing back and forth between them. Local Server In-process Server In-process Server live in DLL file. The host process loads the DLL that contains the COM Server . This means that the in-process server lives In-process Server in the same process space as its host .

Marshaling
Transport Data across a process boundary ( function parameters and return Value )

Local Server

In-process Server

Proxies and stub

Local Server

Standard and Custom Marshaling

OLE Library accomplish standard marshaling use Built-in proxies and stubs OLE Library accomplish Custom marshaling use custom proxies and custom stubs

GUID

CLSID -- a COM servers GUID is called its class ID(SERVER) IID -- is a GUID that distinguishes one particular interface from all others(COM) DISPID -- Dispath ID are numeric identifers that the OLE library use to identify your OLE Controls property and methods(Control).

Interface (keypad of ATM)


regular predictable - -- --enter button .

Interface concept

Interface are Specifications Only

COM Interface define a protocol but ----- in no way implement that protocol Class Icalculate { public : virtual double sum (double, double)=0; virtual double product (double, double)=0; };

Containment
Delegation

()

Aggregation ()

COM SERVER REUSE

OLE Dcument
ActiveX Document is COM software components that present data and information to the user.

ActiveX Document allow user to view data in a variety of ways,perhaps as a graph, a spreadsheet, or text

Structured Storage

Store

Save

stream
COM Server

Stream

Compound Document

Support fellow feature

Nested object support object conversion optimized object storage object linking and embedding

Naming ,Binding and Monikers

Com object store the name and location of other object

Binding
Container

OLE Automation

Automation Server Expose its method (functionality) and properties ( characteristics )to other objects and application

IDispath

OLE control
Container

OLE control s have three sets of attributes that are expose to the outside world
Request

Property Methods Event

Property (member variable in c)

properties are named attributes or characteristics of an OLE control -----------Some example of properties are color ,font,number.

Property page

OLE control provide access to their properties though property page(sheet)


(Clock object,might have a property called DisplayType ,which OLE indicate digital or analog) property Property can be changed container programmatically or though a UI mechanism call property page

Method OLE Automation properties,method (argument) and (return types) (member function in c) -----------------------------------------------------------------(argument and return )data type 1. VARIANT 2.SAFEARRAY Method are function that client use 3. servers. BSTR the actions of OLE Vt iVal

to direct

VARENUM VARIANT Method are only accessible via OLE short automation(IDispath)

IVal long

Event

OLE object raises an event when something interesting happens


container Mouse event

OLE control

Control and Automation

OLE Control implement IDispatch to implement OLE Automation

Registry

Point to the controls Type Library <vendor>.<Server name>.<version name>of Type Library contains the descriptions object word.Document.6 class,interface,dispatch interface ( OLE automation) and type define

Conclusion
Control :ocx automation :exe and DLL control automation

Automation &automation

Das könnte Ihnen auch gefallen