Architecture Universal Network Objects

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo


Book.png

Apache OpenOffice fournit une interface de programmation sous la forme d'une architecture UNO (Universal Network Objects, objets réseau universels). Il s'agit d'une interface de programmation orientée objet que Apache OpenOffice divise en différents objets permettant un accès contrôlé par programme au package Office.

Apache OpenOffice Basic étant un langage de programmation procédural, il a fallu lui ajouter plusieurs constructions linguistiques pour pouvoir utiliser UNO.

Afin de pouvoir utiliser une architecture Universal Network Object dans Apache OpenOffice Basic, vous devez déclarer une variable pour l'objet associé. Cette déclaration se fait avec l'instruction Dim (reportez-vous au chapitre Langage de Apache OpenOffice Basic). Pour déclarer une variable d'objet, vous devez utiliser la désignation du type Object :

Dim Obj As Object

Cet appel déclare une variable d'objet nommée Obj.

La variable d'objet ainsi créée doit ensuite être initialisée à l'aide de la fonction createUnoService :

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

Cet appel assigne à la variable Obj une référence à l'objet qui vient d'être créé. com.sun.star.frame.Desktop ressemble à un type d'objet. Toutefois, dans la terminologie UNO, on parle plus volontiers de service que de type. Selon la philosophie UNO, un Obj est décrit comme étant une référence à un objet prenant en charge le service com.sun.star.frame.Desktop. Le terme "service" employé dans Apache OpenOffice Basic correspond donc aux termes type et classe employés dans d'autres langages de programmation.

Il existe cependant une différence fondamentale : la technologie Universal Network Object peut prendre en charge plusieurs services simultanément. Certains services UNO prennent également en charge d'autres services, si bien qu'à travers un seul objet, vous pouvez accéder à tout un éventail de services. Il est possible, par exemple, que l'objet mentionné précédemment, basé sur le service com.sun.star.frame.Desktop, inclue également d'autres services pour charger des documents et mettre fin au programme.

Documentation note.png Dans VBA la structure d'un objet est définie par la classe à laquelle il appartient ; dans Apache OpenOffice Basic, sa structure est définie par les services qu'il prend en charge. Un objet VBA est toujours assigné à une classe unique. un objet Apache OpenOffice Basic peut quant à lui prendre en charge plusieurs services.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools