1 / 36

COM , OLE concept

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.

lamontl
Download Presentation

COM , OLE concept

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COM , OLE concept By topgun src = Write Ole Control

  2. Java Java app Java app Java machine Java virtual machine Java machine Java virtual machine x86 instruction set Sparc instruction set

  3. 我猜的 OLE OLE(activex) COM binary standard x86 instruction set

  4. 我猜的 COM object OLE(control) OLE(automation) script COM COM binary standard binary standard x86 instruction set

  5. Object 長相

  6. 我覺得 Browser Active x Container Activex control Java applet

  7. Activex relationship (container) Activex automation Activex control (Server) (Client)

  8. Active X technology • OLE(Active x) Automation (Server) • OLE(Active x) Document • OLE(Active x) Control • …….

  9. Client-Server Model Server 一定是一個COM object Client 不一定要是Com object

  10. OLE architecture

  11. Local and In-process Server (1) Local Server In-process Server

  12. 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 the same process space as its host . In-process Server

  13. Marshaling Transport Data across a process boundary ( function parameters and return Value ) Local Server In-process Server

  14. Proxies and stub Local Server

  15. 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

  16. 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).

  17. Interface (keypad of ATM) • 提供輸入的服務 • 以 regular 和 predictable 方式提供服務--例如都是夫入數字與命令 • 是不變的--如果被廣泛使用就不可以改變 • 是可以預測的--按下enter button 是最後一個指令在波士頓即在三番市,這件事都是對的.

  18. Interface concept

  19. 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; };

  20. Containment Delegation (委派) Aggregation (集合體) ? COM SERVER 來實現 “REUSE“的機制

  21. OLE Dcument ActiveXDocument 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

  22. Structured Storage

  23. Store Save stream Stream COM Server

  24. Compound Document Support fellow feature Nested object support object conversion optimized object storage object linking and embedding

  25. Naming ,Binding and Monikers Com object store the name and location of other object

  26. Binding Container

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

  28. IDispath

  29. OLE control Container • OLE control s have three sets of attributes that are expose to the outside world • Property • Methods • Event Request

  30. Property(member variable in c) • properties are named attributes or characteristics of an OLE control ------------ Some example of properties are color ,font,number.

  31. Property page 是一種由OLE控制元件所定義的一種使用者介面, 允許使用者直接處理控制元件的property,不需要 container的任何介入 • 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

  32. OLE Automation properties,method (argument) and (return types) ------------------------------------------------------------------ (argument and return )data type 1. VARIANT 2.SAFEARRAY 3. BSTR 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) Vt VARENUM VARIANT中的資造型態 iVal short 短整數 IVal long 常整數 ……………還很多

  33. Event • OLE object raises an event when something interesting happens container Mouse event OLE control

  34. Control and Automation OLE Control implement IDispatch to implement OLE Automation

  35. Registry Point to the control’s Type Library Type Library contains the descriptions of object class,interface,dispatch interface ( OLE automation) and type define <vendor>.<Server name>.<version name> “word.Document.6”

  36. Conclusion Control :ocx automation :exe and DLL control automation ? Automation &automation

More Related