Discussions au sujet de NI LabVIEW

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

bibliotheque partagee, assembly interop ou bibliotheque empaquetee?

bonjour

 

je travaille sur une appli installée sur plusieurs utilisateurs. une partie du code est souvent mise a jour. je souhaiterais donc externaliser cette portion de code sur un serveur, sous forme d'un sous programme que le programme principal en local appellerait.

 

sur mes options de projet, je vois que j'ai la possibilité de faire soit des bibliothèques partagees soit des assembly interop soit des .lvlipb

 

j'ai testé vite fait les trois et le lvlipb me semble a priori tres simple pour modifier directement le code distant et le tester séparément. et au contraire la bibliotheque partagée a l'air d’être un beau merdier 🙂

 

mais bon, je ne m'y connais pas assez sur ce sujet.

auriez vous des conseils ou des préférences?

Pierre FCentum TNS, Grenoble
Certified LabVIEW Associated Developer
0 Compliments
Message 1 sur 4
2 446 Visites

Hello,

 

Dans les grandes lignes, voici les cas d'utilisation de chacun:

- DLL pour créer une bibliothèque de fonctions qui puisse être "facilement" réutilisée dans un autre environnement de développement et d'exécution que LabVIEW.

- Assembly Interop: tout pareil sauf que cette fois on vise l'utilisation par un langage .NET. Pratique tout de même quand on veut intégrer un bout de code LabVIEW dans une appli déjà existante en C# OU VB.NET. (attention aux types de données).

- lvlibp pour créer l'équivalent d'une DLL juste pour LabVIEW.  C'est du code compilé mais on peut la déboguer, et surtout depuis LV 2017 on a la rétrocompatibilité!! Une lvlibp compilée sur 2017 pourra être utilisée par une application LV 2019 sans avoir à être regénérée (ce qui est le cas avant ça).

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

Message 2 sur 4
2 417 Visites

d'ac, j'ai opté pour lvlibp. j'ai cree un nouveau projet contenant le code de la lvlip, grace auquel je compile directement le fichier sur le serveur. puis, sur mon projet principal j'apelle les fonctions de la lvlip directement.

 

2 questions:

-est il possible, plutot que de charger directement l'emplacement de la lvlip en memoire, de choisir dynamiquement le lien dans lequel elle se trouve?

-j'ai oublie un detail: ma lvlip est utilisée par 3 pc et donc 3 applications simultanément. et elle contient des FGV (enregistrement de valeurs specifiques au PC qui l'utilise, renvoi de ces valeurs). j'ai teste avec 1 pc,ca marche. par contre je me questionne pour 3PC simultanement. la lvlip va t elle s'embrouiller?

Pierre FCentum TNS, Grenoble
Certified LabVIEW Associated Developer
0 Compliments
Message 3 sur 4
2 404 Visites

La lvlibp sera chargée dans la mémoire de son processus appelant, donc aucune chance que des données parasitent l'exécution sur d'autres PC 🙂

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Compliments
Message 4 sur 4
2 372 Visites