Witam,
Mam mały problem i nie wiem nawet czy najlepszy pomysł na jego rozwiązanie. Otóż mam zdefiniowany typedef który jest klastrem. Jest on używany na panelu kilkukrotnie. Zawiera m.in. przełącznik, który w zależności od ustawienia powinien robić część kontrolek aktywnych, a część nieaktywnych. Teraz mogę to zrobić w sposób naiwny -> podpiąć event pod przełącznik, wziąć property node od kontrolek które są w danym typedef i zmieniać ich wartości w odpowiedni sposób. Tylko że takie coś jest dość uciążliwe, bo mam tych typedef kilka, a już koszmarne przy refactoringu. Myślałem więc o stworzeniu subVi, do którego przekazuję referencję do typedefa w którym zaszło zdarzenie i wewnątrz zmieniać właściwości tego obiektu. W takiej postaci kod nie był by dublowany. Niestety nie bardzo potrafię to zrobić. Czytałem w Helpie 'Creating Control Reference SubVIs from Property Nodes and Invoke Nodes', ale tutaj przekazywane są pojedyncze właściwości, a ja chciał bym referencję do całego obiektu i wewnątrz subvi edytować odpowiednie właściwości. Czy takie coś jest w ogóle możliwe, a jeśli nie, w jaki sposób powinno być to zrobione, by było najbardziej poprawne? Mam nadzieję, że za bardzo nie zakręciłem
Pozdrawiam.
Educja kontrolki z poziomu SubVi
- smiga
- Administrator
- Posty: 799
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2016
- Lokalizacja: Słupsk
Re: Educja kontrolki z poziomu SubVi
Nie wiem dokładnie co chcesz osiągnąć, ale wnioskuję z opisu, że coś podobnego do tego poniżej - jak widzisz przekazuję referencję klastra do SubVI'a, a w nim z tablicy kontrolek (wszystkich z klastra) biorę odpowiedni numer (niebieski drut idący z dołu ekranu), interesuje mnie kontrolka boolean (stąd to "uszczegółowienie zielone"), której zmieniam kolor :
Educja kontrolki z poziomu SubVi
Dzięki wielkie za szybką pomoc, to wystarczyło do znalezienia rozwiązania, leci pochwała