Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Créer une classe Active X

Résolu !
Accéder à la solution

Bonjour à tous.

 

J'ai construit une application à partir d'un projet Labview (LV2019 Pro). Lors de la construction, j'ai activé le serveur Active X pour pouvoir envoyer des commandes à mon application depuis n'importe quel VI.

J'ai ensuite créé un autre VI qui me permet de modifier la valeur d'un contrôle de la face avant de mon application.

Dans la palette 'Active X', j'utilise la fonction 'Automation Ouvrir'. J'ai créé une constante sur l'entrée 'Refnum', puis, fais un clic droit sur la constante=>Sélectionner la classe Active X=>Parcourir...

Cela ouvre un navigateur de classe dans lequel je retrouve le serveur Active X que j'avais activé lors de la construction de l'application.

Voici ce que j’obtiens sur ma machine :

 

benvdv_0-1608643261784.png

 

Par contre, lorsque je déploie cette application sur d'autre machine (LV2019 base), je ne parviens pas à faire apparaitre la classe active X dans le navigateur de classe.

J'ai essayé de créer un installeur, j'ai copier le fichier .tlb sur les autres machines, j'ai lancé l'application en mode administrateur... Rien n'y fait. Je soupçonne qu'il manque une ligne dans le fichier .ini de l'application, mais je ne trouve pas l'information.

 

Savez-vous comment ajouter/supprimer des entrées dans le navigateur de classes?

Autre inconvénient mineur, à chaque fois que je relance la construction de l'application (à chaque update), sur ma machine, j'ai une nouvelle entrée qui se créer dans le navigateur de classe. J'aimerais idéalement supprimer les anciennes entrées...

 

Merci d'avance pour votre aide.

 

 

Ben.

 

0 Compliments
Message 1 sur 3
1 363 Visites
Solution
Accepté par benvdv

Bonjour benvdv,

 

J'ai trouvé ce post sur un exemple traitant de l'utilisation d'un exe comme ActiveX server :

Cdkey_0-1608717393604.png

Est-ce qu'en suivant exécutant l'exe en ajoutant la bonne commande, cela change quelque chose ?

 

De plus, pour ce qui est de la création d'une nouvelle entrée à chaque construction d'exe, je soupçonne que cela vient de l'incrémentation automatique de la version de votre exécutable. En laissant le même numéro de version, est ce que vous avez toujours le même comportement ?

 

Cordialement,

Clément

0 Compliments
Message 2 sur 3
1 330 Visites

bonjour, as-tu activé le serveur ActiveX dans la spécification de construction de l'exe? A+ Luc

 

  • Enable ActiveX server(Windows) Enables the ActiveX server so the application can respond to requests from ActiveX clients. The functionality of the ActiveX server in the application is a subset of the LabVIEW ActiveX server. When you build an application myapp.exe, Application Builder also creates an ActiveX type library myapp.tlb. The type library defines an application class and a virtual instrument class and exports both Application properties and methods and VI properties and methods. When you distribute the application, include the type library with the executable file.

    The name of the application that you enter in the ActiveX server name text box uniquely identifies the application in the system registry. After you build the application, run it at least once to enable registry with the system. After the application is registered, ActiveX clients access the server objects using progIDs. For example, if the ActiveX server name is myapp, clients instantiate an application object using the progID myapp.application.

    If you are packaging the application into an installer build specification, place a checkmark in the Register COM checkbox for the application file on the Source File Settings page of the Installer Properties dialog box so the installer registers the ActiveX server.

     

    Note  If you enable the ActiveX server, you must save the application build specification after you build the application for the first time.
    • ActiveX server name(Windows) Specifies the prefix of the progID for the application. This text box is enabled when you place a checkmark in the Enable ActiveX server checkbox.
banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 3 sur 3
1 267 Visites