Einschränkungen der COM-Klassen

Die COM-Klassen von Lotus Notes/Domino weisen im Vergleich mit den LotusScript- und Java-Klassen einige wichtige Einschränkungen auf. Der Artikel befasst sich mit den wesentlichen Unterschieden und den daraus resultierenden Konsequenzen für die Anwendungsentwicklung.

Wenn man in der Online-Hilfe des Domino Designer die Dokumentation zu den LotusScript/ COM/OLE Classes betrachtet, fällt immer wieder auf, dass einzelne Klassen, Methoden und Eigenschaften für COM/OLE nicht unterstützt werden. Der Artikel betrachtet die wichtigsten Ausnahmen.

Generelle Ausnahmen

Es gibt einige generelle Ausnahmen, die sich aus konzeptionellen Unterschieden zwischen LotusScript und COM bzw. den Programmiermodellen von Lotus Notes/Domino und Windows ergeben.

Ein wichtiger Unterschied liegt darin, dass man aus COM-Anwendungen heraus keine Domino- Objekte außer dem Session-Objekt mit New erstellen kann. In allen anderen Fällen muss man über das Session-Objekt auf die entsprechenden Domino-Objekte zugreifen.

In analoger Weise kann nicht mit der aktuellen Umgebung gearbeitet werden. Während man bei LotusScript häufig auf die current database oder andere Objekte in der Laufzeitumgebung zugreift, müssen diese von COM aus immer explizit angegeben werden, da die Laufzeitinformationen von Notes oder Domino eben nicht zur Verfügung stehen.

Eine sehr logische Einschränkung liegt darin, dass man bei der Verwendung von COM nur mit Backend-Klassen arbeiten kann. Daher werden einige Klassen, die für Benutzer sichtbar sind, nicht unterstützt:

  • Button

  • Field

  • Navigator

  • NotesTimer

  • NotesUIDatabase

  • NotesUIDocument

  • NotesUIScheduler

  • NotesUIView

  • NotesUIWorkspace