Universal Network Objects (UNO)

From Apache OpenOffice Wiki
Jump to: navigation, search
Book.png

Apache OpenOffice verschaft een programmeerinterface in de vorm van de Universal Network Objects (UNO). Dit is een objectgeoriënteerde programmeerinterface die Apache OpenOffice onderverdeelt in verschillende objecten die voor hun deel, programma-gecontroleerde toegang tot het kantoorpakket verzekeren.

Omdat Apache OpenOffice BASIC een procedurele programmeertaal is, moesten verschillende taalkundige constructs worden toegevoegd die het gebruik van UNO mogelijk maken.

U heeft een variabele declaratie voor het geassocieerde object nodig om een Universal Network Object in Apache OpenOffice BASIC te gebruiken. De declaratie wordt gemaakt met behulp van de instructie Dim (zie De taal van Apache OpenOffice Basic)). De typebepaling Object moet worden gebruikt om een objectvariabele te declareren:

Dim Obj As Object

De aanroep declareert een objectvariabele genaamd Obj.

De gemaakte objectvariabele moet dan worden geïnitialiseerd zodat hij kan worden gebruikt. Dit kan worden gedaan met behulp van de functie createUnoService:

Obj = createUnoService("com.sun.star.frame.Desktop")

Deze aanroept wijst aan de variabele Obj een verwijzing naar het nieuw-gemaakte object toe. com.sun.star.frame.Desktop stelt een objecttype voor; echter, in de terminologie van UNO wordt het een “service” genoemd, in plaats van een type. In aansluiting op de filosofie van UNO, wordt een Obj omschreven als een verwijzing naar een object dat de service com.sun.star.frame.Desktop ondersteunt. De term “service”, gebruikt in Apache OpenOffice BASIC, correspondeert daarom met de termen type en class die worden gebruikt in andere programmeertalen.

Er is, echter, één groot verschil: een Universal Network Object kan tegelijkertijd meerdere services ondersteunen. Sommige services van UNO ondersteunen op hun beurt andere services zodat, door één object, u wordt voorzien van een heel scala aan services. Bijvoorbeeld dat het vorengenoemde object, dat is gebaseerd op de service com.sun.star.frame.Desktop, ook andere services voor het laden van documenten en het beëindigen van het programma kan bevatten.

Documentation note.png VBA : Waar de structuur van een object in VBA wordt gedefinieerd door de klasse waartoe het behoort, wordt in Apache OpenOffice BASIC de structuur gedefinieerd door de services die het ondersteunt. Een object in VBA is altijd toegewezen aan precies één klasse. Een object in Apache OpenOffice BASIC kan echter meerdere services ondersteunen.


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools