|
Compound Documents
OLE compound documents enable users working within a single application to
manipulate data written in various formats and derived from multiple sources. For
example, a user might insert into a word processing document a graph created in
a second application and a sound object created in a third application.
Activating the graph causes the second application to load its user interface, or at
least that part containing tools necessary to edit the object. Activating the
sound object causes the third application to play it. In both cases, a user is
able to manipulate data from external sources from within the context of a
single document.
OLE compound document technology rests on a foundation consisting of COM,
structured storage, and .uniform data transfer. As summarized below, each of these
core technologies plays a critical role in OLE compound documents:
COM
A compound document object is essentially a COM object that can be embedded
in, or linked to, an existing document. As a COM object, a compound document
object exposes the IUnknown interface, through which clients can obtain pointers to its other interfaces,
including several, such as IOleObject, IOleLink, and IViewObject2, that provide special features unique to compound document objects.
Structured Storage
A compound document object must implement the IPersistStorage or, optionally, IPersistStream interfaces to manage its own storage. A container used to create compound
documents must supply the IStorage interface, through which objects store and retrieve data. Containers almost
always provide instances of IStorage obtained from OLE's Compound Files
implementation. Containers must also use an object's IPersistStorage and/or
IPersistStream interfaces.
Uniform Data Transfer
Applications that support compound documents must implement IDataObject because embedded objects and linked objects begin as data that has been
transferred using special OLE clipboard formats, rather than standard Microsoft® Windows® clipboard formats. In other words, formatting data as an embedded or linked
object is simply one more option provided by OLE's uniform data transfer model.
OLE's compound document technology benefits both software developers and users
alike. Instead of feeling obligated to cram every conceivable feature into a
single application, software developers are now free, if they like, to develop
smaller, more focused applications that rely on other applications to supply
additional features. In cases where a software developer decides to provide an
application with capabilities beyond its core features, the developer can
implement these additional services as separate DLLs, which are loaded into memory only
when their services are required. Users benefit from smaller, faster, more
capable software that they can mix and match as needed, manipulating all required
components from within a single master document.
Programming books recommended by Amazon.com
More programming books on Amazon.com
|
Share this page
|
|
Follow us
|
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|