le 06-17-2009 04:39 AM
Bonjour à tous,
J'utilise la version 8.2 de Labview, et je rencontre un petit problème avec le chargement dynamique de DLLs.
En effet j'utilise le noeud d'appel à une fonction de librairie, en passant en paramètre le chemin d'accès à la DLL;
avec une DLL cela marche très bien, mais lorsque la valeur du chemin provient d'un élément extrait d'un tableau, l'application a l'air de bloquer
(impossible de la fermer). Avez-vous une idée de la façon de procéder pour pouvoir choisir dynamiquement la DLL ? (la fonction appelée est toujours la même quelle que soit la DLL)
D'autre part savez-vous s'il est correct de charger successivement plusieurs DLLs avec un même noeud ?
Merci d'avance si vous avez une solution !
Cordialement,
Bylos
le 06-17-2009 04:52 AM
Armf, le probleme de LabView s'est qu'il charge les DLL à l'ouverture du VI !
Le plus simple pour toi serait de faire une DLL qui prend en paramètre le chemin de la DLL à charger et qui lance l'autre
DLL.
sinon il y a cette Knowledge Base
le 06-17-2009 05:24 AM
Je n'y avais pas pensé ! J'ai peur que ça complique un peu tout vis-à-vis du passage des paramètres mais bon ça vaut le coup d'essayer.
Effectivement j'avais vu cette Knowledge Base, mais cela ne fonctionne que lorsque le chemin de la DLL est fixe (puisqu'il place la DLL dans le dossier Data à la compilation)
Merci pour le conseil, j'indiquerai si le résultat fonctionne
Cordialement,
Bylos
le 06-17-2009 07:39 AM
J'ai finalement utilisé une autre méthode :
Etant donné que mes DLL ont été construites à partir de VIs, j'effectue un appel direct par référence ce qui me permet d'ouvrir plusieurs VI à la fois avec un même noeud (pour gérer une série de plug-ins)
voir ce topic qui indique comment implémenter la gestion de plugins
Cordialement,
Bylos