Universal Network Objects (UNO, univerzális hálózati objektumok)

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

Az Apache OpenOffice rendelkezik egy programozási felülettel, amely a Universal Network Objects (UNO, univerzális hálózati objektumok). Ez egy objektumorientált programozási felület, amelyet az Apache OpenOffice számos olyan objektumra oszt fel, amelyek programvezérlésű hozzáférést biztosítanak az irodai programcsomag adott részeihez.

Mivel az Apache OpenOffice Basic egy eljárásvezérelt programozási nyelv, számos nyelvi elemet kellett hozzáadni, hogy lehetővé váljon az UNO használata.

Ha egy UNO-objektumot akarunk használni az Apache OpenOffice Basicben, változódeklarációt kell megadnunk az adott objektumhoz. A deklarációt a Dim utasítással végezhetjük el (lásd: Az Apache OpenOffice Basic nyelv). Az Object típusmeghatározást kell használni egy objektumváltozó deklarálásához:

Dim Obj As Object

Ez az utasítás deklarál egy Obj nevű objektumváltozót.

A létrehozott objektumváltozót ezután inicializálni kell a használat előtt. Ezt a createUnoService függvénnyel végezhetjük el:

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

Ez a függvényhívás az Obj változóhoz rendeli az újonnan létrehozott objektumra mutató hivatkozást. A com.sun.star.frame.Desktop egy objektumtípus, de az UNO-ban szolgáltatásnak hívják, nem típusnak. Az UNO filozófiájával összhangban az Obj egy olyan objektumra mutató hivatkozás, amely támogatja a com.sun.star.frame.Desktop szolgáltatást. Ezért az Apache OpenOffice Basicben használt szolgáltatás kifejezés a más programozási nyelvek típus és osztály kifejezésének felel meg.

Viszont van egy fontos különbség: egy UNO-objektum egyszerre több szolgáltatást is támogathat. Néhány UNO-szolgáltatás viszont más szolgáltatásokat támogat, így egyetlen objektumon keresztül számos szolgáltatást elérhetünk. Például a már említett objektum, amely a com.sun.star.frame.Desktop szolgáltatáson alapul, tartalmazhat más szolgáltatásokat is, például dokumentumok betöltéséhez vagy a program bezárásához.

Documentation note.png Míg a VBA-ban az objektum struktúráját az az osztály határozza meg, amelyhez tartozik, addig az Apache OpenOffice Basicben a struktúrát azok a szolgáltatások határozzák meg, amelyekhez tartozik. Egy VBA-objektum mindig pontosan egy osztályhoz van rendelve. Ezzel szemben egy Apache OpenOffice Basic-objektum számos szolgáltatást támogat.


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