UNO (Universal Network Objects)

From Apache OpenOffice Wiki
Jump to: navigation, search

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

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

Per utilizzare un Universal Network Object in OpenOffice.org Basic, sarà necessaria una dichiarazione di variabile per l'oggetto associato. Tale dichiarazione viene effettuata utilizzando l'istruzione Dim (vedere Il linguaggio OpenOffice.org 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 OpenOffice.org 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 OpenOffice.org Basic la struttura viene definita tramite i servizi che supporta. Un oggetto VBA è sempre assegnato con precisione a una singola classe. Un oggetto di OpenOffice.org Basic può invece supportare diversi servizi.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools