Contrôles Visual Basic sont la première génération de contrôles ActiveX

VBX, What's a VBX?

VBX ou contrôles Visual Basic, c'était la première génération des contrôles ActiveX. Lorsque des contrôles VBX ont d'abord été développés, ils ont servi dans des boîtes de dialogue comme contrôles personnalisés, des choses telles que les barres de progression, et ainsi de suite. En général, un contrôle VBX ne gère pas les données, tandis qu'un contrôle ActiveX peut. En outre, seuls Visual Basic a été en mesure de créer facilement des contrôles VBX. Programmeurs qui ont développé en C / C + +, par exemple, avait des difficultés à créer leur propre VBX. Cependant, Microsoft a finalement mis au point un système pour créer VBX contrôles à l'aide de plateformes de développement autres que Visual Basic. Microsoft a également rendu compte que la notion de VBX (contrôles embarquable) a été bonne, et que ces contrôles étaient là pour rester. Puis entrèrent les OCX (OLE Control), c'était le développement indépendant de la plateforme, l'utilisation de la plate-forme indépendante, et plus souple. Evolution et le nom du jeu élevaient leurs têtes à nouveau. Microsoft s'installe à des contrôles ActiveX plus comme un changement de nom que de la fonction. Il est fréquent de voir les contrôles ActiveX dénommé contrôles OCX, et vice versa. Certains contrôles ActiveX Data Display. Certains ne font pas autre chose que de fournir une certaine forme d'interface utilisateur. Par exemple, ces contrôles ont été sur un de mes ordinateurs:

• BtnMenu Object

• CarPointProximityCtrl

• ChatShowClt Object

  

• DirectAnimation Java Classes

• HHCTRL Object

• Internet Explorer Classes pour Java

• IPTDImageControl.Slmage

• Label Object

• Microsoft MSChat objets de contrôle

• Microsoft Search Settings Control

• Microsoft XML Parser pour Java

• PopupMenu Object

• Classes Win32

Tous ces contrôles ont été installés dans le dossier% SystemRoot% \ Occache répertoire. Si vous n'utilisez pas Internet Explorer ou ne sont pas actifs sur Internet, vous n'aurez sans doute pas beaucoup de ces contrôles. Remarque: Si vous ne trouvez pas un répertoire Occache, ne paniquez pas. C'est probablement parce que vous n'avez pas tous les contrôles ActiveX installés sur votre ordinateur!

Liar, Liar, Pants on Fire!

Rappelez-vous quand je l'ai dit précédemment que les contrôles OLE ne possède pas d'interface utilisateur? Et bien en fait, j'ai menti un peu. Il est possible d'utiliser RunDll32 d'exécuter certains contrôles OLE. RunDll32 ne dispose pas d'interface utilisateur soit, et toute commande qui fonctionne avec RunDll32 doit être écrit spécifiquement pour ce type d'utilisation. Par exemple, le contrôle OLE Active Movie sera exécuté avec la commande:

% SystemRoot% \ System32 \ rundll32.exe amovie.ocx, Rundll

Cela ouvre la Active Movie OLE contrôle (Rundll offre une fenêtre principale du contrôle), et Active Movie affiche alors une boîte de dialogue File Open. Vous pouvez sélectionner un fichier Active Movie (essayez clock.avi dans systemroot répertoire Windows XP%%) et exécutez-le en utilisant amovie.ocx. Ceci est possible car Active Movie a été écrit pour travailler avec Rundll, et comme tel, il fonctionne. Essayez cette astuce plus aucun contrôle OLE autre, et vous obtiendrez le message, «Missing point d'entrée Rundll», qui indique que le point d'entrée passé dans la commande n'a pas été trouvé. Oh, oui, vous pouvez également passer des paramètres à votre OLE de commande avec la commande:

Rundll:% SystemRoot% \ System32 \ rundll32.exe amovie.ocx, Rundll% SystemRoot% \ clock.avi

Cette commande charge Active Movie, les charges clock.avi, et permet à l'utilisateur d'interagir avec le contrôle. Try it. Mieux encore, essayez ceci:

% SystemRoot% \ System32 \ rundll32.exe amovie.ocx, Rundll / play / proche% SystemRoot% \ clock.avi

Ne pas insérer d'espace entre par erreur le fichier exécutable (amovie.ocx dans l'exemple précédent), la virgule et le point d'entrée (Rundll dans l'exemple précédent). Cela rompra Rundll sans vous dire pourquoi elle a échoué. Get the hint? J'ai passé un paramètre pour le contrôle Active Movie pour lire le fichier clock.avi puis la fermer quand le fichier. AVI est fini. Active Movie chargé le fichier spécifié, joué le fichier, et fermé, le tout sans intervention d'utilisateur. Oh, ne me blâmez pas si le fichier clock.avi est un peu gênant. En fait, Rundll va tourner plus d'OLE Controls-Rundll va (ou au moins essayer de) exécute un fichier exécutable, y compris les DLL (Dynamic Link Library) et EXE (Executable). Ceci est vrai aussi longtemps que vous le savez point d'entrée du fichier et le fichier d'être exécuté en suivant le protocole Rundll. Pour plus d'informations, consultez Microsoft Knowledge Base article Q164787, qui peut être consulté à l'adresse http://support.microsoft.com/default.aspx?scid=kb; EN-US; q164787.

Bien qu'à l'origine écrites pour Windows 95/98, il a été mis à jour pour inclure le support pour les utilisateurs de Windows XP. Remarque: Ne pas avoir amovie.ocx? Ce contrôle fait partie des nombreuses versions de Microsoft Internet Explorer. Pratiquement tous les 9x ou Windows 2000 Windows ont une copie que vous pouvez utiliser. Vous pouvez télécharger à partir de Microsoft; cependant, le fichier amovie.ocx est combinée avec une version antérieure de Microsoft Internet Explorer.

Client-Serveur OLE Applications

Applications client-serveur OLE constituent un nombre important de programmes sur la plupart des ordinateurs Windows. Même si l'utilisateur mai ne pas être au courant de ce qui applications client-serveur OLE sont installés, ils sont nombreux. L'un des mieux conçus et les mieux intégrées ensembles d'applications de Microsoft Office, qui est actuellement publié en tant qu'Office XP. Remarque: Office XP est vraiment Office, la version 10. Microsoft n'a pas utilisé le numéro de version comme faisant partie du nom du produit pour un certain temps. Toutefois, beaucoup d'entrées de Registre Office et de fichiers / des noms de dossier utiliser le numéro de version. N'oubliez pas que Office XP est la version Office 10 (et Office 2000 Office version 9). Office XP combine le traitement de texte (Word pour Windows XP), tableur (Excel XP), un système de base de données (Access XP), un logiciel de présentation (PowerPoint XP), et une foule de services publics (tels que graphique). Chacune des principales applications de Microsoft Office à la fois un client et un serveur d'applications. Certaines applications, telles que le mot Art Graphique et les services publics ne sont pas conçues pour s'exécuter comme de simples clients. Par exemple, prendre Word XP (un programme qui, au moins je sais comment l'utiliser). Parole, comme un client. . . Mot. Ouvrez Word et modifier un document. Écrivez une courte lettre à quelqu'un, peu importe qui. Créer quelque chose, sur une page de long, trois ou quatre paragraphes. Vous avez une fonctionnalité de Word dans tous ces paragraphes, vous avez tout fait en utilisant la Parole et rien d'autre. Maintenant, les choses commencent à devenir intéressantes. Insérer un objet. Pour les grins, insérez un dessin dans un document Word. Cliquez sur Insérer → Objet. Word affiche la boîte de dialogue de l'objet qui répertorie tous les objets OLE incorporables serveur (voir Figure 6.1). En fait, OLE utilise un appel API pour afficher la boîte de dialogue.

Certains serveurs de travail par eux-mêmes totalement enrobage dans Word. Par exemple, Microsoft Photo Editor est appelé à modifier (ou sélectionner, si vous créez un nouvel objet) l'image que vous avez inséré. Avec Office XP, Word ne pas incorporer le serveur, plutôt que le serveur est appelé comme un processus distinct. Word XP affiche la barre d'outils d'image standard, et vous mai modifier l'image soit en sélectionnant Edition → Photo Editor Photo Objet → Editer ou simplement en double-cliquant sur l'image. (Je saute en avant quelques-uns ici, mais remarquez comment montre la figure 6.3 Word XP avec l'image de la figure 6.2 embarquée comme objet Microsoft Photo Editor A.)

Il est assez incroyable que Microsoft Photo Editor (ou n'importe quel serveur autre objet, en l'occurrence) fonctionne sans Microsoft Word avoir une connaissance préalable de celui-ci. En fait, sélectionnez (double-cliquez sur l'objet, par exemple) un fichier Microsoft Photo Editor objet, et donne le contrôle à Word de Microsoft Photo Editor. Microsoft Photo Editor affiche alors sa propre fenêtre avec fenêtre Word, de sorte que l'utilisateur peut basculer entre le document Word et l'objet comme nécessaire-je utiliser ce même processus au moment où j'écris. Lorsque Microsoft Photo Editor objet n'est pas sélectionné, Word permet fonctionnement normal (voir Figure 6.2). Vous n'avez contexte de commutation entre Word et Microsoft Photo Editor chaque fois que vous sélectionnez un élément dans le document. Si votre sélection est un objet Microsoft Photo Editor (voir Figure 6.3), Microsoft Photo Editor est mis dans la commande, sinon, Word prend le contrôle. Beaucoup de magie qui se passe derrière les scènes ici. Lorsque vous enregistrez un document complexe contenant des objets OLE, les serveurs des objets sauvegarder les objets OLE quand et où l'instruction de le faire par Word. Attention, le sujet dérive. J'essaie de faire de chacun un expert OLE. Voyons voir si je peux envelopper cette place en un mot, puis connecter le tout avec le Registre. Donc, en résumé:

• Les applications clientes mai ont des objets OLE incorporés dans leurs documents, et / ou ont une fonctionnalité serveur OLE incorporés dans leurs fonctionnalités de base.

• Cet enrobage est effectué à l'exécution, de sorte que le développeur ne sait rien de ce que enrobage sera fait lorsque le programme est en cours d'écriture.

• Quand une application cliente veut incorporer un objet OLE, l'application cliente appelle OLE pour afficher la boîte de dialogue Insérer un objet à l'utilisateur. L'utilisateur sélectionne ensuite l'objet incorporé.

• En sélectionnant l'objet, OLE permet à l'interface utilisateur du client (les menus et barres d'outils, par exemple) pour être remis à l'application serveur.

• Les applications serveur mai modifier l'objet en place, ou mai de créer une fenêtre d'édition spéciale, qui ont des menus mai / support barre d'outils, le cas échéant. Habituellement, des objets complexes ont leurs propres fenêtres d'édition juste pour garder les choses plus simples pour l'utilisateur.

• OLE utilise le registre afin d'en apprendre davantage sur les applications serveur Embeddable.

• Le serveur OLE et les applications clientes sont identifiées par les CLSID; UUIDs em appel », ou GUID, si vous le souhaitez. Un CLSID est une longue chaîne unique de nombres.

• L'application serveur est en mesure d'utiliser OLE pour dire au client ce que le serveur a des capacités. Cela permet au client de se comporter d'une manière prévisible. Note Il est possible d'intégrer un objet purement fonctionnel OLE dans un document. De temps en temps avec la programmation de base de données, les contrôles OLE (ActiveX) et les applications OLE (par exemple, sans données spécifiques, tels que Microsoft Contrôle Calendrier 10.0) sont utilisés. OK, j'ai gazouille sur environ OLE assez longtemps (est-ce un cri de ralliement sauvages je?), donc mettons-nous au greffe de la composante OLE.

un article présenté par Mathenes Dessue


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «contrôles Visual Basic sont la première génération de contrôles ActiveX" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 312 users browsing the articles directory