Serveur COM

Oxygène est un serveur COM (en plus d'être un client). Cela signifie que n'importe quel autre logiciel sur l'ordinateur peut lancer et piloter Oxygène.

Enregistrement d'un Oxygène en tant que serveur COM

Lors de l'installation d'Oxygène, il est enregistré automatiquement en tant que serveur COM. Un seul Oxygène peut être déclaré serveur COM sur l'ordinateur.

Pour ré-enregistrer un Oxygène ou changer d'Oxygène, lancez la ligne de commande suivante :

 

oxydev\systeme\bin\oxygovl.exe /RegServer

 

NB : il n'y a pas d'action visible.

Pour désactiver le serveur COM, remplacez /RegServer par /unregServer .

Fonctionnement général du serveur COM Oxygène++

Oxygène++ est un serveur COM. Un programme externe peut donc utiliser la technologie COM pour communiquer avec Oxygène++.

Pour cela, une méthode spécialisée d'Oxygène++ est mise à disposition des programmes externes. Cette méthode s'appelle AppliquerMethodeComposant. Elle a pour but d'appeler la méthode du même nom qui est utilisée dans les programmes L4G.

Création du serveur Oxygène++

Lorsqu'un programme demande à COM de le mettre en relation avec un serveur, il doit indiquer le nom de ce serveur, son ProgId (identifiant de programme).

Le ProgId de Oxygène++ est la chaîne de caractères suivante : « OxygenePlusPlus.Application ».

Ainsi, la création de Oxygène++ en Visual Basic s'écrit comme ceci :

 

Dim ObjetOxygenePlusPlus as Object  'Déclaration de l'objet
Set ObjetOxygenePlusPlus = CreateObject("OxygenePlusPlus.Application")

Initialisation

Lorsque Oxygène++ est lancé en mode serveur COM, il a besoin d'informations pour s'initialiser. Ces informations sont l'emplacement de la base de données (paramètre “d=”), le nom d'utilisateur (paramètre “u=”) et le nom de la société (paramètre “s=”). Ces informations doivent être données le plus tôt possible.

Une fois que Oxygène++ possède ses paramètres de lancement, il s'initialise et bloque le client COM. Ce dernier ne peut donc pas appeler de méthodes de composants non initialisés.

 

La méthode permettant de donner les informations de lancement a la signature suivante :

 

void Demarrer(const char far *repOxypp, const char far *utilisateur=0, const char far *societe = 0);

 

Elle peut donc être appelée de cette manière (en ASP, Visual Basic ou Visual Basic for Application (VBA)) :

 

Retour = ObjetOxygenePlusPlus.Demarrer("c:\oxypp.400", "JEAN", "DEMO")

Paramètres supplémentaires

Il est possible de renseigner des paramètres supplémentaires tels que le titre de la fenêtre (paramètre "t=") ainsi que tous les autres paramètres de lancement disponibles. Pour ce faire, il suffit de les envoyer à la suite du premier paramètre de la méthode Demarrer.

 

Exemple d'appel Oxygène ++ en mode serveur (en ASP, Visual Basic, ou VBA) :

 

Retour = ObjetOxygenePlusPlus.Demarrer("c:\oxypp.400 T=""Oxygène ++"" BD=BDOXY,Mserveur","JEAN","DEMO")

 

Suite à cet appel, Oxygène sera lancé en tant que serveur COM, le titre de la fenêtre sera Oxygène++, et il sera lancé en mode client serveur en utilisant le serveur Mserveur.