XRegistry
L'application XRegistry permet le recensement d'instances d'objets COM qui sont alors rendus accessibles pour d'autres modules, exécutables ou DLL, à l'aide d'un nom unique.
En particulier, XRegistry peut maintenir des pointeurs d'interface COM IUnkown ou IDispatch, que toute application peut réclamer pour ensuite les utiliser.
Une application a ainsi un moyen simple d'accéder à une instance d'objet COM qu'une autre application aurait créé et recensé préalablement.

XRegistry est une application autonome et un serveur automation, de progID "XRegistry.Registry", implémentant l'interface IRegistry, et dont nous détaillons les méthodes ci-dessous.


Accéder à XRegistry

Il n'est pas nécessaire que XRegistry soit déjà exécuté pour l'utiliser. Une application pouvant créer des objets automations pourra en obtenir une référence par une instruction du type :

Reg := CreateOleObject('XRegistry.Registry'); // Reg est un Variant

A la première exécution de XRegistry, sa fenêtre d'application est minimisée.
Un nouvel appel de ce type, quelle que soit l'application cliente, renverrait le même pointeur d'interface, parce qu'une seule instance du programme est autorisée.


Recenser un objet

Recenser une instance d'objet s'effectue par la méthode :

procedure AddObject(const Name: WideString; Ptr: OleVariant);

Le premier argument est le nom qui servira d'identificateur pour recenser l'objet Ptr qui a le type compatible OLE automation OleVariant ; Ptr peut ainsi être un pointeur d'interface ou une valeur d'un type de base.
Lorsqu'un objet est recencé, le nom passé ici en argument est affiché dans l'application XRegistry.
Une exception est lancée si il existe déjà un objet portant le même nom.


Obtenir un objet

La méthode pour obtenir un objet recensé est tout aussi simple :

function GetObject(const Name: WideString): OleVariant;

GetObject renvoie l'objet correspondant au nom passé en argument. Une exception se produit si le nom ne correspond à aucune entrée de XRegistry.


Retirer un objet

Comme son nom l'indique la méthode :

procedure RemoveObject(const Name: WideString);

permet de "dé-recenser" un objet inscrit dans XRegistry.
Une exception peut se produire si le nom passé en argument de la méthode ne correspond à aucune entrée.


Ressource

Téléchargez XRegistry 1.0

Sommaire

Accéder à XRegistry
Recenser un objet
Obtenir un objet
Retirer un objet
Ressource

Début

Copyright © 2003 OBJECT-EVERYWHERE. Tous droits réservés | Bertrand Goetzmann