com , ole concept
DESCRIPTION
COM , OLE concept. By topgun src = Write Ole Control. Java. Java app. Java app. Java machine. Java virtual machine. Java machine. Java virtual machine. x86 instruction set. Sparc instruction set. 我猜的. OLE. OLE(activex). COM. binary standard. x86 instruction set. 我猜的. COM object. - PowerPoint PPT PresentationTRANSCRIPT
COM , OLE concept
By topgun
src = Write Ole Control
Java
x86 instruction set
Java virtual machine
Java app
Sparc instruction set
Java virtual machine
Java app
Java machine Java machine
OLE
x86 instruction set
COM
OLE(activex)
binary standard
我猜的
COM object
x86 instruction set
binary standard
COM
OLE(control) OLE(automation) script
COM
binary standard
我猜的
Object 長相
我覺得
Java applet
Browser
Activex control
Active x Container
Activex relationship
Activex control
(container)
Activex automation(Server) (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 ServerLocal 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.
In-process ServerIn-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 the same process space as its host .
Local Server
In-process Server
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 server’s 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 Control’s 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;};
COM SERVER 來實現 “ REUSE“ 的機制
Containment
?
Delegation ( 委派 )
Aggregation ( 集合體 )
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
COMServer
stream
Stream
Save
Compound Document
Support fellow feature
Nested object supportobject conversion
optimized object storageobject linking and embedding
Naming ,Binding and Monikers
Com object store the name and location of other object
Binding
Container
OLE Automation
Automation ServerExpose its method (functionality) and properties ( characteristics )to other objects and application
IDispath
OLE control
OLE control s have three sets of attributes that are expose to the outside world
Property Methods Event
Container
Request
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 indicate digital or analog)
Property can be changed programmatically or though a UI mechanism call property page
是一種由 OLE 控制元件所定義的一種使用者介面,允許使用者直接處理控制元件的 property ,不需要
container 的任何介入
Method (member function in c)
Method are function that client use to direct the actions of OLE servers.
Method are only accessible via OLE automation(IDispath)
OLE Automation properties,method (argument) and (return types)------------------------------------------------------------------
(argument and return )data type1. VARIANT
2.SAFEARRAY3. BSTR
Vt VARENUM VARIANT 中的資造型態iVal short 短整數IVal long 常整數…………… 還很多
Event
OLE object raises an event when something interesting happens
OLE control
Mouse event
container
Control and Automation
OLE Control implement IDispatch to implement OLE Automation
Registry
<vendor>.<Server name>.<version name>“word.Document.6”
Point to the control’s Type LibraryType Library contains the descriptions of object class,interface,dispatch interface
( OLE automation) and type define
Conclusion
automation
Automation &automation
control
?
Control :ocxautomation :exe and DLL