Discussions au sujet de NI LabVIEW

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

fermer reference

Résolu !
Accéder à la solution

SR2.png

 

 

en A j'ai une Ref GObject ... en B le résultat après 'To More Specific Class" (Case Structure)

 

je ferme A ... mais dois-je fermer B aussi ?

 

(d'après mes tests, je pense que non, mais je n'en suis pas certain à 100%)

 

questionnement.gif

 

0 Compliments
Message 1 sur 13
3 796 Visites

Y'a pas un champion en matière de "close reference" qui pourrait me donner son avis ?

 

Un pro de l'équipe R&D, qui sait exactement ce qui se passe en background des Refs LV ...

 

merci à lui ...

Message 2 sur 13
3 775 Visites

Instinctivement j'aurais fermé B... car c'est le même objet (on a juste spécifié la classe enfant)

 

Note qu'a la fin de l'exécution de ton VI toutes les refs seront fermées par LabVIEW.

 

https://www.ni.com/en/support/documentation/supplemental/13/closing-references-in-labview.html

https://www.ni.com/docs/en-US/bundle/labview-api-ref/page/functions/call-chain.html

 

J'espère que sa "aide" même si je n'ai pas de réponse ferme a apporter.

Rodéric L
Certified LabVIEW Architect
Message 3 sur 13
3 770 Visites

Merci Rodéric pour ta réponse.

 

mais si LV ferme toutes les refs ouvertes en fin de vi ..

 

à quoi sert de les fermer soi-même alors ?

 

mis à part la création de refs dans les boucles ... ou là, si on crée 25.000 Refs inutiles,

il devient intéressant de les fermer avant la fin du vi et avant que LV le fasse lui-même,

 

sinon ... pour les Refs que j'appellerai "ponctuelles" ...

c.a.d une dizaine de Refs ... est-il bien utile de surcharger le BD avec des "Close reference" dans tous les coins ???

 

 

Message 4 sur 13
3 767 Visites
Solution
Accepté par l'auteur du sujet ouadji

La majorité des "références ponctuelles" ce sont des refs VIs serveur donc la fermeture est automatique. 

 

Mais tu n'auras pas de problèmes si tu ouvres quelques refs et que tu ne les ferme pas (je parle de refs d'objets LV pas des ActiveX sur d'autres applis^^)

 

J'avais fait un test dans une appli ou je fermais toutes les refs dans les sous VIs qui les utilisaient c'est "plus propre" et sa permet de savoir ce que tu vas faire, mais en terme de perfs l'interet est limité (même si tu as 30 pointeurs (refs sur des case structures dnas ton exemple) c'est pas sa qui va faire crasher ton appli)

 

Rodéric L
Certified LabVIEW Architect
Message 5 sur 13
3 760 Visites

Merci Rodéric pour ces précisions.

 

"c'est plus propre" ... je suis d'accord.

 

l'important est aussi d'avoir une logique de comportement avec soi-même,

c.a.d de fermer ceci dans un vi ... et de ne pas le fermer dans un autre ... ne serait pas une bonne attitude.

 

je vais rester sur l'idée de fermer toutes les Refs soi-même, le "plus propre" me convient parfaitement.

 

étant un rien perfectionniste, l'idée que mon code pourrait ne pas être propre (my God!)

me donne directement des crises de tachycardie Smiley heureux

Message 6 sur 13
3 752 Visites
Message 7 sur 13
3 746 Visites

Bonjour Luc,

 

Merci pour ces liens.

je regarderai à "ça" de près !

Message 8 sur 13
3 738 Visites

Merci Luc, sa confirme bien ce que je pensais!

Rodéric L
Certified LabVIEW Architect
Message 9 sur 13
3 729 Visites

oui @+

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

Message 10 sur 13
3 726 Visites