Problem z typem danych

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Quishu
Posty: 3
Rejestracja: 06 wrz 2016 08:17
Wersja środowiska: LabVIEW 2014

Problem z typem danych

Post autor: Quishu » 21 paź 2016 10:03

Witam,

Wprowadzam nowe funkcjonalnosci we wczesniej zrobionym (nie przeze mnie) projekcie napisanym obiektowo. Stworzylem kilka nowych VI, nastepnie dodalem je wszystkie do projektu. Wejscia i wyjscia obiektu w stworzonych przeze mnie VI-ach to kontrolki/indykatory kopiowane z innych VIow tego projektu.
Problem pojawil sie w momencie dodania glownego VI do projektu, Vi dziala poprawnie jednak nie moge polaczyc wyjscia obiektu z VI do obiektu wyjsciowego z calego program. Mam swiadomosc tego, ze wire przed i po VI sie roznia, ale nie wiem dlaczego poniewaz wewnatrz obiektu sa takie same dane i ich typy.

Nie znam sie za dobrze na projektach stworzonych obiektowo w LabVIEW i podejrzewam ze opisalem sprawe dosc chaotycznie, dlatego pytajcie I piszcie jesli potrzebujecie jakiekolwiek informacje, za kazda wskazowke bede wdzieczny.

Obrazek

Obrazek

Awatar użytkownika
dajpanspokój
Posty: 117
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2014
Has thanked: 2 times

Problem z typem danych

Post autor: dajpanspokój » 21 paź 2016 20:02

Ten grubszy kabel jest dynamiczny, to znaczy ze moze nim plynac obiekt nadrzednej klasy i kazde "dziecko" tej klasy
W zaleznosci co tam jest, bedzie uruchamiany vi rodzica, albo dziecka (troche tak jak polimorphic vi)
Chudy kabel ktory wychodzi z twojego vi jest statyczny, tzn ze moze nim sie poruszac tylko ta konkretna klasa.
Zeby zmienic wyjscia i wejscia na dynamiczne, musisz w swoim vi kliknac prawym klawiszem myszki na inputy w connector pane (to jest ten maly kwadracik z wejsciami i wyjsciami w prawym gornej czesci okna) i kliknac prawym przyciskiem w konkrente wyjscie i wejscie, ktorego uzywa klasa i zaznaczyc This connection is->Dynamic.
Jezeli ta opcja jest wyszarzona (nie pamietam kiedy jest), to musisz od nowa stworzyc tego vi klikajac prawym na klase, New->From dynamic dispatch template (czy cos takiego)

Dla kazdego dziecka jesli chcesz nadpisac tego vi, klikasz na klase dziecka New->Vi for override i zaznaczasz vi rodzica ktory chcesz nadpisac, wtedy jak dziecko poplynie tym glubym kablem, wlaczy sie vi dziecka
Obrazek

ODPOWIEDZ