UNO (Universal Network Objects)

From Apache OpenOffice Wiki
< IT‎ | Documentation‎ | BASIC Guide
Revision as of 07:55, 7 July 2018 by Sancho (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Apache OpenOffice fornisce un'interfaccia di programmazione UNO (Universal Network Objects). Si tratta di un'interfaccia di programmazione orientata agli oggetti che Apache OpenOffice suddivide in diversi oggetti che garantiscono un accesso controllato dal programma al pacchetto Office.

Poiché Apache OpenOffice Basic è un linguaggio di programmazione procedurale, sono stati aggiunti diversi costrutti che consentono l'uso di UNO.

Per utilizzare un Universal Network Object in Apache OpenOffice Basic, sarà necessaria una dichiarazione di variabile per l'oggetto associato. Tale dichiarazione viene effettuata utilizzando l'istruzione Dim (vedere Il linguaggio Apache OpenOffice Basic). Per dichiarare una variabile oggetto, dovete usare una designazione di tipo Object:

Dim Obj As Object

La chiamata dichiara una variabile oggetto denominata Obj.

Per poter essere utilizzata, la variabile oggetto creata deve quindi essere inizializzata. Tale operazione può essere effettuata tramite la funzione createUnoService:

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

La chiamata assegna alla variabile Obj un riferimento al nuovo oggetto creato. com.sun.star.frame.Desktop è simile a un tipo di oggetto, tuttavia nella terminologia UNO viene denominato "servizio" anziché tipo. Conformemente alla filosofia UNO, Obj sarebbe descritto come un riferimento a un oggetto che supporta il servizio com.sun.star.frame.Desktop. Il termine "servizio" utilizzato in Apache OpenOffice Basic corrisponde pertanto ai termini "tipo" e "classe" utilizzati in altri linguaggi di programmazione.

Esiste tuttavia una differenza principale: un Universal Network Object può supportare diversi servizi contemporaneamente. Alcuni servizi UNO a loro volta supportano altri servizi, in modo da fornire un'intera gamma di servizi attraverso un oggetto. È ad esempio possibile che l'oggetto summenzionato, basato sul servizio com.sun.star.frame.Desktop, includa anche altri servizi per il caricamento dei documenti e per terminare il programma.

Documentation note.png Mentre in VBA la struttura di un oggetto è definita dalla sua classe di appartenenza, in Apache OpenOffice Basic la struttura viene definita tramite i servizi che supporta. Un oggetto VBA è sempre assegnato con precisione a una singola classe. Un oggetto di Apache OpenOffice Basic può invece supportare diversi servizi.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools