ActiveX
|
|
Cette page sans source est non vérifiable. Il est fortement conseillé aux contributeurs de cet article d'étayer son contenu par des sources fiables.
Discussion ici (si vous venez d'apposer le bandeau, veuillez cliquer sur ce lien pour créer la discussion et en afficher les règles).
|
ActiveX désigne l'une des technologies du Component Object Model de Microsoft avec COM+ et Distributed COM utilisées en programmation pour permettre le dialogue entre programmes.
Un contrôle ActiveX est un fichier portant l'extension « .OCX ». Ce sont des programmes encapsulés dynamiques (à l'instar des DLL) se comportant comme des classes (c'est-à-dire que l'on peut instancier comme des objets). C'est-à-dire que ce sont des composants logiciels intégrables dans d'autres programmes/logiciels tels que des bibliothèques externes.
Pour les rendre accessibles, on peut les déclarer officiellement au système (Microsoft Windows en l'occurrence) ou simplement les livrer avec un logiciel. Mais pour pouvoir les utiliser dans un logiciel, on doit obligatoirement les déclarer à ce dernier lors de la création du logiciel. Lors de la compilation du logiciel (c'est-à-dire, de la transformation du programme en fichier exécutable), ces composants ne seront pas intégrés au programme mais liés, et donc, resteront extérieur au programme l'utilisant. Par conséquent, ces composants peuvent rester disponibles pour d'autres programmes. Ils sont donc hautement réutilisables et utilisables simultanément par plusieurs programmes (ce qui constitue tout leur intérêt !).
Contrairement aux DLL (qui ne sont que des bibliothèques partagées (et donc, à lier également au programme lors de sa conception) de fonctions), les contrôles ActiveX sont de véritables petits logiciels indépendants (mais dynamiques et encapsulés, donc, connectables à d'autres ) qui peuvent avoir (ou non) une interface graphique, non seulement lors du fonctionnement du logiciel les utilisant, mais également lors de la création (dans l'IDE) afin d'aider le développeur à l'utiliser ou le configurer.
Ces caractéristiques singulières en font donc des objets particulièrement flexibles, pratiques et appréciés des développeurs pour leur simplicité d'utilisation.
Tout comme les classes, ils sont principalement constitués de propriétés (i.e., de variables publiques contrôlées par des fonction en entrée et/ou en sortie), de méthodes (c'est-à-dire, de fonctions ou procédures publiques) et d’événements (i.e., de fonctions/procédures de surveillance d'états). On peut donc les créer (i.e., les instancier) comme de simples objets. Mais outre une interface graphique, ils ont en plus la possibilité de contenir des données annexes tel que des images, des icônes, ... puisqu'ils sont "encapsulés".
Concrètement, presque tous les éléments graphiques autres que ceux du système (que sont les fenêtres, ...) sont, la plupart du temps, des contrôles ActiveX. Par exemple, les boutons, les listes déroulantes, les menus ou même les fenêtres standard (ouvrir, enregistrer, ...) sont des OCX.
Leur développement se fait généralement via Microsoft Visual Studio bien que d'autres langages de programmation compatibles avec la technologie COM puissent également en créer. Citons par exemple le cas du C++ ou du Delphi de Borland.
Il est à noter qu'ils peuvent être utilisés dans des pages web (à condition d'être d'abord téléchargés — manuellement ou, plus problématiquement, automatiquement — sur le poste client). Du fait de leur grande intégration au système, ceci constitue un problème de sécurité majeur avec les navigateurs acceptant leur utilisation. En effet, si l'utilisateur n'est pas informé, et comme ce sont des composants très actifs, il est facile pour des développeurs de pages web d'être malveillants.
Voir aussi [modifier]
Articles connexes [modifier]
- Object Linking and Embedding (OLE)
- OLE Control Extension (OCX)
- Dynamic Link Library (DLL)
- Framework .NET de Microsoft
- Programmation Web en ActiveX
- Applet