Verbunddokumente

OFFICE


BUCH

Robert Hoschek

r.hoschek@euromail.com

OFFICE

Verbunddokumente


Glanz und Elend von Verbunddokumenten

Robert Hoschek

Haben Sie sich vielleicht schon einmal gefragt, wie Word für Windows ein Excel-Diagramm oder eine CorelDraw-Zeichnung mitspeichern kann, wo es doch über solche Formate nicht unbedingt Bescheid wissen kann (vor allem, wenn es von einem Fremdhersteller ist)? Spätestens, wenn Sie selbst Entwickler von Softwarekomponenten sind, die ein solches Verhalten zeigen sollen, müssen Sie sich mit der Frage auseinander setzen.

Das Geheimnis für die Fähigkeiten moderner Windows-Software heißt “Verbunddokument”. Diese Technologie basiert auf dem mehr oder weniger bekannten OLE, dem Verknüpfen und Einbetten von Objekten in Dokumenten. Das Dokument ist nur der Container für so ein Objekt (eine Graphik, eine Tabelle, usw.), das Programm, welches das Container-Dokument verwaltet, muss nichts über das Objekt wissen (von ein paar wenigen, standardisierten Eigenschaften abgesehen).

Wenn man ein eingebettetes Objekt aktiviert (z.B. durch Anklicken), wir das ursprüngliche Programm aufgerufen, welches das Objekt erzeugt hat. Das funktioniert natürlich nur, wenn sich das Programm auch auf dem Rechner befindet. Wenn z.B. der Formeleditor in Word für Windows nicht installiert ist (was bei der Standard-Option der Fall ist), können Sie ein Dokument mit Formeln zwar lesen und drucken, einen Fehler in einer Formel können Sie aber nicht beheben.

Ein Verbunddokument hat die Eigenschaft, alle eingebetteten Objekte in einer Datei zu speichern. Das erscheint bei genauerer Betrachtung ziemlich kompliziert, da doch das Container-Programm die Details der eingebetteten Objekte gar nicht kennen kann. Das korrekte Verhalten wird durch das Modell der strukturierten Ablage erreicht. Dazu wird innerhalb der Verbunddatei ein Dateisystem wie auf einem Datenträger angelegt: Es gibt Ablagen (entsprechen den Verzeichnissen) und Streams (entsprechen den Dateien).

Image140

Wenn sich zum Beispiel in einem Word-Dokument ein Excel-Diagramm befindet, wäre das Stammobjekt (das Root-Verzeichnis) das Ablageobjekt von Word. Dieses enthält die systemeigenen Daten und die OLE-Daten für das Word-Objekt. Darüber hinaus enthält es das Ablageobjekt für das Excel-Diagramm. Das Ablageobjekt für das Excel-Diagramm enthält die systemeigenen Daten und die OLE-Daten für das Excel-Objekt.

Wie in einem Dateisystem können neue Ablagen und Objektdaten sehr effizient hinzugefügt werden. Nebenbei stellt der Verbund-Mechanismus auch eine Transaktionsverarbeitung zur Verfügung, die sicherstellt, dass immer eine ursprüngliche Version des Dokuments existiert, auch wenn bereits Änderungen durchgeführt wurden.

Bild0

Wenn Sie “Ihr” Windows besser verstehen wollen oder es beruflich müssen, kann ich Ihnen das Buch “Microsoft Windows-Architektur für Entwickler”, welches vom Betriebsystem-Hersteller selbst veröffentlicht wurde, empfehlen. Es kann entsprechend seinem Aufbau auch als Trainingsunterlage verwendet werden.

Rahmen3

office.JPG

    r.hoschek@euromail.com  Robert Hoschek

PCNEWS-61  Februar 1999

25