Freigeben über


Zusammengesetzte Dokumente

MIT OLE-Verbunddokumenten können Benutzer, die in einer einzelnen Anwendung arbeiten, Daten bearbeiten, die in verschiedenen Formaten geschrieben und aus mehreren Quellen abgeleitet wurden. Beispielsweise kann ein Benutzer in ein Textverarbeitungsdokument ein Diagramm einfügen, das in einer zweiten Anwendung erstellt wurde, und ein Soundobjekt, das in einer dritten Anwendung erstellt wurde. Durch die Aktivierung des Graphen lädt die zweite Anwendung ihre Benutzeroberfläche oder zumindest den Teil, der tools enthält, die zum Bearbeiten des Objekts erforderlich sind. Durch die Aktivierung des Soundobjekts wird es von der dritten Anwendung wiedergegeben. In beiden Fällen ist ein Benutzer in der Lage, Daten aus externen Quellen aus dem Kontext eines einzelnen Dokuments zu bearbeiten.

Die OLE-Verbunddokumenttechnologie basiert auf einer Grundlage, die aus COM, strukturierter Speicherung und einheitlicher Datenübertragung besteht. Wie nachfolgend 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 ihre anderen Schnittstellen abrufen können, darunter mehrere, z. B. IOleObject, IOleLink und IViewObject2, die spezielle Features bieten, die für zusammengesetzte Dokumentobjekte einzigartig sind.

Strukturierter Speicher

Ein zusammengesetztes Dokumentobjekt muss die IPersistStorage-Schnittstelle oder optional IPersistStream-Schnittstellen implementieren, um seinen eigenen Speicher zu verwalten. Ein Container, der zum Erstellen zusammengesetzter Dokumente verwendet wird, muss die IStorage-Schnittstelle bereitstellen, über die Objekte Daten speichern und abrufen. Container stellen fast immer Instanzen von IStorage bereit, die aus der Ole-Implementierung zusammengesetzter Dateien abgerufen werden. 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 und nicht mit Standardformaten der Microsoft Windows-Zwischenablage übertragen wurden. Anders ausgedrückt: Das Formatieren von Daten als eingebettetes oder verknüpftes Objekt ist einfach eine weitere Option, die das einheitliche Datenübertragungsmodell von OLE bietet.

Die Technologie für zusammengesetzte Dokumente von OLE kommt Softwareentwicklern und Benutzern gleichermaßen zugute. Anstatt sich verpflichtet zu fühlen, jedes erdenkliche Feature in eine einzige Anwendung zu integrieren, können Softwareentwickler jetzt, wenn sie möchten, kleinere, fokussiertere Anwendungen entwickeln, die von anderen Anwendungen abhängig sind, um zusätzliche Features bereitzustellen. In Fällen, in denen ein Softwareentwickler entscheidet, eine Anwendung mit Funktionen bereitzustellen, die über ihre Kernfunktionen hinausgehen, 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 und leistungsfähigerer Software, die sie bei Bedarf kombinieren und anpassen können, um alle erforderlichen Komponenten innerhalb eines einzelnen master Dokuments zu bearbeiten.

Weitere Informationen finden Sie in den folgenden Themen:

Datenübertragung

Strukturierte Speicherung