Marcel Salein wrote: > Sehe ich das richtig, dass beim Zugriff über OLE/COM in C++ auf OpenOffice, > dass dort das C++ Programm auf die C++ - UNO Bridge zugreift und den C++ > Code in UNO Code umwandelt? – Oder wie könnte man das am besten erklären?
OOo implementiert ein registriertes COM-Objekt, den ServiceManager. Über diesen kann man sich weitere erzeugen lassen, die den entsprechenden UNO-Objekten entsprechen. Allerdings implementiert jedes dieser Objekte nur 2 COM-Interfaces, IUnknown und IDispatch. Letzteres ist das sogenannte Automation-Interface, über das man mehr oder weniger interpretierend auf die Methoden und Properties des Objekts zugreift. Wie das im einzelnen funktioniert ist nicht OOo-spezifisch und sollte sich in unzähligen Publikationen zu OLE Automation nachlesen lassen. Selbst Google sollte da genügend Hilfe liefern. Jede Programmiersprache, die die Möglichkeit besitzt, IDispatch zu benutzen, kann dann zur OOo-Programmierung benutzt werden, was aber in den allermeisten Fällen nicht sehr komfortabel ist (wie immer bei OLE Automation), in Visual Basic geht es aber sehr einfach. OOo unterstützt auch das Einbetten seiner Dokumente als OLE Documents Objekte mit den dazu gehörigen Interfaces wie IDataObject etc. Man kann sich auch von einem solchen Objekt einen IDispatch-Zeiger besorgen und das Dokument dann über OLE Automation scripten. Auch zu OLE Documents (auch "eigentliches" OLE = "Object Linking and Embedding" bezeichnet) findest du Müllidschonen von Beschreibungen. > Der Vortrag sollte 10 Minuten sein, dabei ist eben die Sache, dass ich mich > da nicht genau im Detail mit der Technologie auskenne, gibt es dafür > Diagramm, die das ganze erläutern, damit ich diese eventuell verwenden kann? Ich würde sagen, dann müsstest du dich wohl mit der Technologie etwas vertraut machen . :-) Literatur dazu sollte es in Massen geben. Ciao, Mathias -- Mathias Bauer - OpenOffice.org Application Framework Project Lead Please reply to the list only, [EMAIL PROTECTED] is a spam sink. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]