Active-Dokumente

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu COM-Erweiterungen


Active-Document-Objekte (früher OLE-Dokumente) sind COM-Dienste, die Verknüpfen und Einbetten, Drag&Drop und visuelles Bearbeiten unterstützen. Active-Dokumente können nahtlos Daten oder Objekte in verschiedenen Formaten aufnehmen, beispielsweise Klangdateien, Kalkulationstabellen, Text und Bitmap-Grafiken.

Sie sind im Gegensatz zu ActiveX-Steuerelementen nicht auf prozeßinterne Server beschränkt und können in prozeßübergreifenden Anwendungen eingesetzt werden.

Active-Document-Objekte können im Gegensatz zu Automatisierungsobjekten (die fast nie sichtbar sind) auch in einer anderen Anwendung angezeigt werden. Daher werden sie für zwei Arten von Daten verwendet: Präsentationsdaten, die ein Objekt auf einem Bildschirm oder Ausgabegerät darstellen, und native Daten, mit denen ein Objekt bearbeitet wird.

Active-Dokumente können Dokument-Container oder Dokument-Server sein. Delphi stellt zwar keinen Experten zum automatischen Erstellen von Active-Dokumenten zur Verfügung, aber Sie können mit der VCL-Klasse Vcl.OleCtnrs.TOleContainer das Verknüpfen und Einbetten in vorhandenen Active-Dokumenten unterstützen.

Ferner lassen sich TOleContainer-Objekte als Basis für einen Active-Dokument-Container verwenden. Zum Erstellen von Objekten für Active-Dokument-Server verwenden Sie den Experten für COM-Objekte und implementieren die entsprechenden Schnittstellen für diesen Objekttyp, je nachdem, welche Dienste das Objekt unterstützen muss. Weitere Informationen zur Erzeugung und Verwendung von Active-Dokument-Servern finden Sie auf der Microsoft-Website zu ActiveX.

Anmerkung: Während die Spezifikation für Active-Dokumente über eine integrierte Unterstützung für den Marshaling-Mechanismus bei prozessübergreifenden Anwendungen verfügt, können Active-Dokumente nicht auf externen Servern ausgeführt werden, da sie mit spezifischen Typen für ein System auf einem bestimmten Computer arbeiten, beispielsweise mit Fenster-Handles, Menü-Handles usw.