04-16-2013 04:34 PM - modifié 04-16-2013 04:48 PM
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%)
Résolu ! Accéder à la solution.
le 04-17-2013 10:18 AM
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 ...
le 04-17-2013 10:44 AM - dernière modification le 07-15-2024 04:51 PM par Content Cleaner
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.
le 04-17-2013 10:57 AM
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 ???
04-17-2013 05:35 PM - modifié 04-17-2013 05:36 PM
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)
04-18-2013 02:48 AM - modifié 04-18-2013 02:49 AM
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
le 04-18-2013 03:46 AM - dernière modification le 07-15-2024 04:52 PM par Content Cleaner
Salut
J’avais déjà eu l’occasion de lire sur le sujet. J’ai retrouvé mes infos et sources
https://forums.ni.com/t5/LabVIEW/Close-Reference-To-a-more-specific-class/td-p/1536164
https://www.ni.com/en/support/documentation/supplemental/13/closing-references-in-labview.html
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
le 04-18-2013 06:51 AM
Bonjour Luc,
Merci pour ces liens.
je regarderai à "ça" de près !
le 04-18-2013 07:52 AM
Merci Luc, sa confirme bien ce que je pensais!
le 04-18-2013 08:27 AM
oui @+
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