Strona 1 z 1
Aktywna/otwarta sekwencja
: 17 lip 2013 12:01
autor: mar3cki
Uruchamiam sekwencję dodaną do menu Tools. Chciałbym pobrać nazwę aktualnie otwartej sekwencji w Sequence Editorze. Jak się do dobrać do nazwy?
Pytając RunState.SequenceFile.Path dostaję ścieżkę do 'mojej' sekwencji, zamiast do aktualnie otwartej...
Re: Aktywna/otwarta sekwencja
: 18 lip 2013 08:36
autor: cyjan1
Witam!
Myślę, że rozwiązaniem Twojego problemu jest zmienna:
Kod: Zaznacz cały
RunState.InitialSelection.SelectedFile.Path
Testowałem na TestStand 4.2 i zwraca mi pełną nazwę aktualnie zaznaczonego pliku sekwencji.
Natomiast jeśli chcesz potrzebujesz dodatkowo nazwy zaznaczonych sekwencji skorzystaj z
Kod: Zaznacz cały
RunState.InitialSelection.SelectedSequences
Np.
Kod: Zaznacz cały
RunState.InitialSelection.SelectedSequences[0].Name
zwróci Ci nazwę pierwszej zaznaczonej sekwencji.
Aktywna/otwarta sekwencja
: 26 lip 2013 12:27
autor: mar3cki
wielkie dzięki, znalazłem dokładnie to samo
teraz mam zagwozdkę z przeniesiem tego kodu na TS 4 - mimo, że składnia jest poprawna dostaję błąd:
Unknown variable or property name 'RunState.InitialSelection.SelectedFile'. [Error Code: -17306, Unknown variable or property name.]
Re: Aktywna/otwarta sekwencja
: 26 lip 2013 13:28
autor: cyjan1
Witam,
niestety nie mam TestStanda 4.0, żeby to sprawdzić. Natomiast, wg NI, w tej wersji programu zmienna SelectedFile powinna istnieć:
http://zone.ni.com/reference/en-XX/help ... bproperty/
Nawet w opisie jest, że może być przydatna w sekwencjach typu Tools.
Błąd Ci wyskakuje w momencie wywołania tego kroku czy w podczas edycji sekwencji (Check Expression for Errors)?
Czy w trybie edytowania też nie masz możliwości podglądnięcia tej zmiennej?
Spróbuj zdebugować jakie elementy zawiera RunState.InitialSelection.
PS. Załączam przykładową sekwencję w wersji 4.0.x.
Aktywna/otwarta sekwencja
: 26 lip 2013 13:41
autor: mar3cki
i to właśnie jest najdziwniejsze, bo mogę sobie to zbudować korzystając z Expression browsera, czy pisząc z palca, Check expression errors nie zgłasza zastrzeżeń. Natomiast przy wykonywaniu kodu jest zgłaszany taki właśnie błąd.
Znalazłem info, że może być problem z dostępem poza execution, ale ja wywołuję tę sekwencję z menu Tools...
Podobny wątek znalazłem tu
http://forums.ni.com/t5/NI-TestStand/Ho ... -p/2009473
Re: Aktywna/otwarta sekwencja
: 26 lip 2013 13:49
autor: cyjan1
Rzeczywiście dziwne. Ja to odpalałem w 4.2 spod Tools i działało bardzo dobrze.
Spróbuj jeszcze zdebugować jak wygląda u Ciebie InitialSelection przy takim wywołaniu.
Aktywna/otwarta sekwencja
: 26 lip 2013 13:58
autor: mar3cki
Mam chyba nie tak z TestStandami (4 i 2012), bo w 2012 przestał mi działać mój kod, a i twój zgłasza błąd:
Error Message: An error occurred evaluating the Message Expression:
Unknown variable or property name 'RunState.InitialSelection.SelectedFile'.[Error Code: -17306]
Coś mi się widzi, że naprzemienne aktywowanie TS4 i TS5 nie jest wskazane... Chyba muszę przeinstalować obydwa... Odezwę się po tej operacji ;)
Re: Aktywna/otwarta sekwencja
: 26 lip 2013 14:06
autor: cyjan1
Zanim to zrobisz spróbuj jeszcze postawić break-pointa na tym kroku i obejrzyj InitialSelection, jak pisałem powyżej.
Jedyny przypdek jaki mi jeszcze przychodzi do głowy, to że SelectedFile nie istnieje bo nie masz otwartej żadnej sekwencji podczas wywoływania tej sekwencji z menu Tool.
Ale to chyba nie to

Aktywna/otwarta sekwencja
: 26 lip 2013 14:56
autor: mar3cki
w zasadzie chyba niepotrzebnie zreisntalowałem TS4, problem był z Type 'CommonResults', co mnie trochę dziwi... Bo niby skąd inny typ się wziął...
a wywołanie seq z Tools jest zabezpieczone - pole Enable Expression: PropertyExists("RunState.InitialSelection.SelectedFile") && RunState.InitialSelection.SelectedFile.Path != "" && CurrentUserHasPrivilege("Develop.EditSequenceFiles")
wszystko działa jak należy, a że działo to armata, to armaci
