Zusammengesetzte Dokumente
Ole-Verbunddokumente ermöglichen Benutzern, die in einer einzigen Anwendung arbeiten, Daten zu bearbeiten, die in verschiedenen Formaten geschrieben und von mehreren Quellen abgeleitet wurden. Beispielsweise kann ein Benutzer in ein Textverarbeitungsdokument einfügen, ein Diagramm, das in einer zweiten Anwendung erstellt wurde, und ein Soundobjekt, das in einer dritten Anwendung erstellt wurde. Durch das Aktivieren des Diagramms wird die zweite Anwendung die Benutzeroberfläche laden, oder zumindest dieser Teil, der Tools enthält, die zum Bearbeiten des Objekts erforderlich sind. Durch aktivieren des Soundobjekts wird die dritte Anwendung wiedergegeben. In beiden Fällen kann ein Benutzer Daten aus externen Quellen innerhalb des Kontexts eines einzelnen Dokuments bearbeiten.
Die OLE-Verbunddokumenttechnologie basiert auf einer Grundlage, die aus COM, strukturierter Speicherung und einheitlicher Datenübertragung besteht. Wie unten zusammengefasst, spielt jede dieser Kerntechnologien eine wichtige Rolle in OLE-Verbunddokumenten:
-
COM
-
Ein zusammengesetztes Dokumentobjekt ist im Wesentlichen ein COM-Objekt, das in ein vorhandenes Dokument eingebettet oder mit diesem verknüpft werden kann. Als COM-Objekt macht ein zusammengesetztes Dokumentobjekt die IUnknown Schnittstelle verfügbar, über die Clients Zeiger auf seine anderen Schnittstellen abrufen können, einschließlich mehrerer, wie z. B. IOleObject-, IOleLink-und IViewObject2, die spezielle Features für zusammengesetzte Dokumentobjekte bieten.
-
strukturierten Speicher
-
Ein zusammengesetztes Dokumentobjekt muss die IPersistStorage oder optional IPersistStream- Schnittstellen implementieren, um seinen eigenen Speicher zu verwalten. Ein Container zum Erstellen zusammengesetzter Dokumente muss die IStorage Schnittstelle bereitstellen, über die Objekte Daten speichern und abrufen. Container stellen fast immer Instanzen von IStorage aus der Implementierung zusammengesetzter OLE-Dateien bereit. Container müssen auch die IPersistStorage und/oder IPersistStream Schnittstellen eines Objekts verwenden.
-
einheitliche Datenübertragung
-
Anwendungen, die zusammengesetzte Dokumente unterstützen, müssen IDataObject- implementieren, da eingebettete Objekte und verknüpfte Objekte als Daten beginnen, die mit speziellen OLE-Zwischenablageformaten übertragen wurden, anstatt standardmäßigen Microsoft Windows-Zwischenablageformaten. Mit anderen Worten: Das Formatieren von Daten als eingebettetes oder verknüpftes Objekt ist einfach eine weitere Option, die vom einheitlichen Datenübertragungsmodell von OLE bereitgestellt wird.
Die Zusammengesetzte Dokumenttechnologie von OLE profitiert sowohl von Softwareentwicklern als auch von Benutzern. Anstatt sich verpflichtet zu fühlen, jedes denkbare Feature in eine einzige Anwendung zu gliedern, sind Softwareentwickler jetzt kostenlos, wenn sie möchten, kleinere, fokussiertere Anwendungen zu entwickeln, die sich auf andere Anwendungen verlassen, um zusätzliche Features zu liefern. In Fällen, in denen ein Softwareentwickler entscheidet, eine Anwendung über die Kernfunktionen hinaus bereitzustellen, kann der Entwickler diese zusätzlichen Dienste als separate DLLs implementieren, die nur dann in den Arbeitsspeicher geladen werden, wenn ihre Dienste erforderlich sind. Benutzer profitieren von kleinerer, schnellerer, fähigerer Software, die sie nach Bedarf kombinieren und abgleichen können, wobei alle erforderlichen Komponenten innerhalb eines einzelnen Masterdokuments manipuliert werden.
Weitere Informationen finden Sie in den folgenden Themen:
- Container und Server
- Verknüpfen und Einbetten von
- Objekthandler
- In-Process Server
- Verknüpfte Objekte und Monikers
- Benachrichtigungen
- zusammengesetzte Dokumentschnittstellen
- Object States
- Implementieren In-Place Aktivierungs-
- Erstellen verknüpfter und eingebetteter Objekte aus vorhandenen Daten
- zwischenspeichern
Verwandte Themen