Non standard
Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

Attention ! Cette fonction est spécifique à Microsoft et est uniquement prise en charge par Internet Explorer dans les versions antérieures à IE 9 (en mode standard).

La fonction GetObject() renvoie une référence à un objet Automation à partir d'un fichier donné.

Syntaxe

GetObject([pathname] [, class])

Paramètres

pathname
Un chemin complet contenant également le nom du fichier contenant l'objet qu'on souhaite récupérer. Si pathname n'est pas présent, l'argument class sera obligatoire.
class Facultatif
La classe de l'objet. Cet argument suit une syntaxe appname.objecttype où :
appname correspond au nom de l'application fournissant l'objet
objecttype correspond au type ou à la classe d'objet à créer.

Notes

La fonction GetObject() n'est pas prise en charge par Internet Explorer 9 en mode standard, Internet Explorer 10 en mode standard, Internet Explorer 11 en mode standard et par les applications Windows Store.

Exemples

var CADObject;  
CADObject = GetObject("C:\\CAD\\SCHEMA.CAD");

Lorsque ce code est exécuté, l'application associée au chemin indiquée est démarrée et l'objet indiqué est activé. Si l'argument pathname est une chaîne vide (""), GetObject renvoie une nouvelle instance du type souhaité. Si l'argument pathnameest absent, GetObject() renvoie l'objet actif courant pour le type indiqué. Si aucun objet ne correspond, une erreur est déclenchée.

Certaines applications permettent d'activer une partie d'un fichier. Pour cela, on peut terminer l'argument pathname par un point d'exclamation suivi du nom de la partie du fichier qu'on souhaite activer. Pour plus d'informations sur la composition du nom de la partie, voir la documentation de l'application qui a créé l'objet.

Ainsi, pour une application de dessin avec différents calques enregistrés dans un même fichier, on pourra utiliser l'instruction suivante pour récupérer un calque précis :

var LayerObject = GetObject("C:\\CAD\\SCHEMA.CAD!Layer3");

Si la classe de l'objet n'est pas passée en argument, l'objet Automation déterminera l'application à démarrer et l'objet à activer en fonction du nom de fichier passé en argument. Il est possible que certains fichiers prennent en charge plusieurs classes d'objet. Dans ce dernier cas, il faudra utiliser l'argument class afin d'indiquer la classe à récupérer :

var MyObject = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "FIGMENT.DRAWING");

Dans l'exemple précédent, FIGMENT est le nom d'une application de dessin et DRAWING est le nom d'un type d'objet pris en charge par cette application. Une fois l'objet activé, on peut y faire référence dans le code grâce à la variable qu'on a déclaré. Suite à l'instruction précédente, on peut manipuler les propriétés et méthodes du nouvel objet avec  MyObject :

MyObject.Line(9, 90);  
MyObject.InsertText(9, 100, "Hello, world.");  
MyObject.SaveAs("C:\\DRAWINGS\\SAMPLE.DRW");

Note : On utilisera la fonction GetObject() lorsqu'on dispose d'une instance courante pour l'objet ou qu'on souhaite créer un objet à partir d'un fichier déjà chargé. Si on ne dispose encore d'aucunee instance et qu'on ne souhaite pas utiliser un objet d'un fichier chargé, il faudra utiliser l'objet ActiveXObject.

Si un objet est enregistré comme un singleton, une seule instance de l'objet sera créée, quel que soit le nombre de fois où ActiveXObject est exécuté. Pour un tel singleton, GetObject() renvoie toujours la même instance lorsqu'elle est appelée avec la chaîne vide et provoque une erreur si l'argument pathname est absent.

Prérequis

Cette fonctionnalité est prise en charge par les modes suivants : Quirks, Internet Explorer 6 en mode standard, Internet Explorer 7 en mode standard et Internet Explorer 8 en mode standard.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,