le 05-25-2018 12:03 PM
Bonjour,
j'ai dû customiser des VI du toolkit de génération de rapports. J'utilise Git pour mon contrôle de code source.
Mais du coup je ne sais pas comment faire pour intégrer ces VI modifiés dans les fichiers versionnés...
Forcément quand je clone mon dépot sur une autre machine, les VI utilisés sont ceux d'origine et non les customisés...
J'ai un peu creusé et j'ai vu qu'il faudrait peut-être se pencher sur une distribution des sources (galère à paramétrer et je ne gère plus le versioning) ou alors utiliser des sub-modules dans Git.
Quelqu'un pourrait-il m'aider?
Résolu ! Accéder à la solution.
le 05-27-2018 01:28 AM
tu peux créer un dépôt avec le contenu du toolkit, c'est la solution que j'ai adoptée pour la user.lib
le 05-28-2018 04:06 AM
salut à vous,
je me permets quelques remarques .
La conséquence est que sur un changement de version de LabVIEW ou de réinstallation d'un toolkit ou driver ou autres, le code de la vi.lib va être écrasé ou modifié ou perdu. Le dossier vi.lib est sous le contrôle de NI.
Donc (pour moi) un code de National Instruments peut être modifié (évidement) mais il faut lui changer de nom et le mettre dans la user.lib ou dans le projet.
Dans l'exemple du report generation toolkit, j'ai déjà modifier certaines fonctions (de NI et donc dans la user.lib). Pour faire cela :
Pour l'histoire c'est la raison du VI "Excel Get ActiveX References" : Le report generation étant une classe, seulement les membres de la classe peuvent manipuler un objet de la classe. La conséquence est qu'un VI qui n'est pas dans la classe ne peut pas manipuler une référence au "report" du toolkit report generation. National Instrument a donc insérer dans la classe, un vi qui permet à un vi extérieur dans la classe d'avoir accès aux références. Donc un VI du projet peut accéder aux références.
Donc ma réponse est : ton code est dans le dossier de ton projet, et donc gérer par le contrôle de code source.
non?
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
05-28-2018 07:33 AM - modifié 05-28-2018 07:35 AM
@thib_fr a écrit :
tu peux créer un dépôt avec le contenu du toolkit, c'est la solution que j'ai adoptée pour la user.lib
C'est plutôt simple effectivement mais après si tu dois passer d'un projet à un autre, tu es obligé de pull ton user.lib correspondant à chaque fois?
le 05-28-2018 07:59 AM
a écrit :
salut à vous,
je me permets quelques remarques .
- La vi.lib est réservée à du code de National Instruments.
- La user.lib est destinée à du code personnalisé.
La conséquence est que sur un changement de version de LabVIEW ou de réinstallation d'un toolkit ou driver ou autres, le code de la vi.lib va être écrasé ou modifié ou perdu. Le dossier vi.lib est sous le contrôle de NI.
Donc (pour moi) un code de National Instruments peut être modifié (évidement) mais il faut lui changer de nom et le mettre dans la user.lib ou dans le projet.
Dans l'exemple du report generation toolkit, j'ai déjà modifier certaines fonctions (de NI et donc dans la user.lib). Pour faire cela :
- je lui donne un nouveau nom
- je le sauvegarde dans mon projet (il est donc sous le contrôle du Source Code Control)
Pour l'histoire c'est la raison du VI "Excel Get ActiveX References" : Le report generation étant une classe, seulement les membres de la classe peuvent manipuler un objet de la classe. La conséquence est qu'un VI qui n'est pas dans la classe ne peut pas manipuler une référence au "report" du toolkit report generation. National Instrument a donc insérer dans la classe, un vi qui permet à un vi extérieur dans la classe d'avoir accès aux références. Donc un VI du projet peut accéder aux références.
Donc ma réponse est : ton code est dans le dossier de ton projet, et donc gérer par le contrôle de code source.
non?
Merci pour ta réponse Luc. Du coup je pense effectivement que je vais procéder de la même manière:
sauver ma version du NI_ReportGenerationToolkit.lvlib dans mon dossier projet, comme ça je profite du versioning. Mais par contre je tire un trait sur une possible mise à jour (facile) de ce toolkit customisé.
Ah, petite question subsidiaire, du coup pour distribuer les sources tu procèdes de la même façon pour les drivers d'instrumentation (copie des lvlib dans ton dossier projet) ou tu crées plutôt des packages avec VIPM, ou autre?
le 05-28-2018 08:16 AM
Salut, pour préciser, de mon côté j'ai :
Par exemple,
je suis plus claire? A+
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 05-28-2018 08:27 AM
oui c'est assez clair 🙂
C'est juste que de mon côté j'avais juste bêtement modifié des vi du toolkit. Pour faire plus propre il faudrait que je sauve ces vi dans les user.lib pour y accéder via les palettes, et faire la manip que tu décris de distribution.
Par contre si quelqu'un récupère ton code via SVN, il va devoir copier manuellement le contenu de /monprojet/source/common/ dans les dossiers correspondants?
le 05-29-2018 09:00 AM
salut
non
Par contre si quelqu'un récupère ton code via SVN, il va devoir copier manuellement le contenu de /monprojet/source/common/ dans les dossiers correspondants?
car : /monprojet/source/ qui mon dossier projet, et qui contient l'ensemble de mon code "source", est sous le contrôle de mon SCC. Donc il va exporter le dépôt SVN, et il aura le code dans le dossier et les sous-dossiers (donc common et autres)
plus claire?
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 05-31-2018 09:23 AM
oui ok, au temps pour moi, j'avais cru comprendre que tu distribuais les dossiers de /monprojet/source/common/user/lib dans la user.lib...
le 06-01-2018 01:22 AM
ok, content de voir que c'est plus claire pour toi, bonne journée A+
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