Event rozpoznajacy zamkniecie systemu i Shared variable
- semper fidelis
- Posty: 74
- Rejestracja: 28 paź 2014 20:45
- Wersja środowiska: LabVIEW 2013
Event rozpoznajacy zamkniecie systemu i Shared variable
Witam,
Mam dzis dwa nurtujace mnie pytania:
1. Pierwsze czy jest mozliwosc stworzenia eventu monitorujacego zamkniecie systemu?
Moze wyjasnie skad ten pomysl, problem polega na tym ze moj programik uzywany jest przez wiele osob w sieci (znajduje sie na dysku sieciowym), jezeli chce wydac nowa wersje to zeby usunac stara musi on byc zamkniety na wszystkich komputerach, nie chce mi sie chodzic po calej firmie i sprawdzac kto ma wlaczone wiec wymyslilem ze bede mial pliczek na dysku sieciowym w ktorym bedzie zapisywana nazwa komputera i ip na ktorym program jest uruchamiany oraz usuwany z niego gdy program zamykany wiec bede mial dostep do listy gdzie jest uruchomiony aktualnie.
Poblem pojawia sie np przy zamknieciu systemu gdy program jest wlaczony (pomijam narazie opcje zakmniecie procesu z menagera urzadzen) bo nazwa komputera nie zostanie usunieta z pliku, dlatego pytam czy mozna wywolac event w tymze programie gdy ktos bedzie chcial wylaczyc komputer?
2. A drugie pytanie o zmienna Shared variable - nadmienie ze nie mam o tym wiekszego pojecia.
Chcialbym zapisywac Shared variable na naszym dysku sieciowym i to bylby serwer dla mojej zmiennej. Powiedzmy ze jest to dysk zmapowany jako Z: (lub tez ma jakis adress ip 192.168.2.1\Data)
Jak mam teraz zapisywac ta zmienna na tym dysku? Tzn jak ustawic host dla zmiennej (okno shared variable w zalaczniku)
Mam dzis dwa nurtujace mnie pytania:
1. Pierwsze czy jest mozliwosc stworzenia eventu monitorujacego zamkniecie systemu?
Moze wyjasnie skad ten pomysl, problem polega na tym ze moj programik uzywany jest przez wiele osob w sieci (znajduje sie na dysku sieciowym), jezeli chce wydac nowa wersje to zeby usunac stara musi on byc zamkniety na wszystkich komputerach, nie chce mi sie chodzic po calej firmie i sprawdzac kto ma wlaczone wiec wymyslilem ze bede mial pliczek na dysku sieciowym w ktorym bedzie zapisywana nazwa komputera i ip na ktorym program jest uruchamiany oraz usuwany z niego gdy program zamykany wiec bede mial dostep do listy gdzie jest uruchomiony aktualnie.
Poblem pojawia sie np przy zamknieciu systemu gdy program jest wlaczony (pomijam narazie opcje zakmniecie procesu z menagera urzadzen) bo nazwa komputera nie zostanie usunieta z pliku, dlatego pytam czy mozna wywolac event w tymze programie gdy ktos bedzie chcial wylaczyc komputer?
2. A drugie pytanie o zmienna Shared variable - nadmienie ze nie mam o tym wiekszego pojecia.
Chcialbym zapisywac Shared variable na naszym dysku sieciowym i to bylby serwer dla mojej zmiennej. Powiedzmy ze jest to dysk zmapowany jako Z: (lub tez ma jakis adress ip 192.168.2.1\Data)
Jak mam teraz zapisywac ta zmienna na tym dysku? Tzn jak ustawic host dla zmiennej (okno shared variable w zalaczniku)
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...
Event rozpoznajacy zamkniecie systemu i Shared variable
ad 1. A nie wystarczy filter event "applicatcion instance close?"? Ponieważ, przy działającym programie, gdy użytkownik wybierze zamknięcie systemu - program i tak dostanie informację by się zamknąć (poprawcie mnie, jeśli się mylę).
http://digital.ni.com/public.nsf/allkb/ ... 6000606A64
http://digital.ni.com/public.nsf/allkb/ ... 6000606A64
- semper fidelis
- Posty: 74
- Rejestracja: 28 paź 2014 20:45
- Wersja środowiska: LabVIEW 2013
Event rozpoznajacy zamkniecie systemu i Shared variable
A to bardzo ciekawe sprawdze to jutro! Ciekawi mnie tylko to wylogowanie z systemu przeciez uruchomione aplikacje dalej zostaja uruchomione wtedy tego eventu bym nie chcial wywolywac. Jak to zadziala to dzieki za pomoc!
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...
Event rozpoznajacy zamkniecie systemu i Shared variable
Jeżeli dobrze zrozumiałem to każdy kopiuje exeka z dysku sieciowego i używa na swoim kompie w obrębie sieci?
Jeżeli tak to możesz zrobić sobie prosty programik "serwer" który bedzie sie laczyl z twoimi programami działającymi na innych PC w tej sieci.
Będziesz wiedział kto i z jakiego adresu IP używa twojego programiku, Prosto da się dorobić wymianę dowolnych wiadomosci np zamkniecie czyjegos programu, informacja o nowej wersji do pobrania itp
Robiłem kiedyś coś podobnego w oparciu o TCP, tutaj bardzo dobra biblioteka:
https://lavag.org/files/file/196-transportlvlib/
Jeżeli tak to możesz zrobić sobie prosty programik "serwer" który bedzie sie laczyl z twoimi programami działającymi na innych PC w tej sieci.
Będziesz wiedział kto i z jakiego adresu IP używa twojego programiku, Prosto da się dorobić wymianę dowolnych wiadomosci np zamkniecie czyjegos programu, informacja o nowej wersji do pobrania itp
Robiłem kiedyś coś podobnego w oparciu o TCP, tutaj bardzo dobra biblioteka:
https://lavag.org/files/file/196-transportlvlib/
CLS - Certified LabVIEW Student
- semper fidelis
- Posty: 74
- Rejestracja: 28 paź 2014 20:45
- Wersja środowiska: LabVIEW 2013
Event rozpoznajacy zamkniecie systemu i Shared variable
Nie do konca kopiuje... po prostu uruchamia to z dysku sieciowego z tej samego exe kazdy.
Ten serwer ciekawy ale dosc skomplikowana i obszerna biblioteka ale dzieki!
Co do Application instance close faktycznie to by sie sprawdzalo, ale w momencie zamykania systemu wyskakuje okno ze VI dziala i mozna kliknac Quit albo Cancel, teraz jesli kliknie sie Quit to event sie wykonca, a jesli przez pare sekund sie nic nie wcisnie to program i tak sie wylaczy ale event nie zostanie wykonany.
Pomoze ktos jeszcze z zapisem Shared variable na dysku sieciowym? Jak w oknie ktorym podalem w zalaczniku to ustawic?
Ten serwer ciekawy ale dosc skomplikowana i obszerna biblioteka ale dzieki!
Co do Application instance close faktycznie to by sie sprawdzalo, ale w momencie zamykania systemu wyskakuje okno ze VI dziala i mozna kliknac Quit albo Cancel, teraz jesli kliknie sie Quit to event sie wykonca, a jesli przez pare sekund sie nic nie wcisnie to program i tak sie wylaczy ale event nie zostanie wykonany.
Pomoze ktos jeszcze z zapisem Shared variable na dysku sieciowym? Jak w oknie ktorym podalem w zalaczniku to ustawic?
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Event rozpoznajacy zamkniecie systemu i Shared variable
Shared Variable działa na serwerze, który jest zwykłą aplikacją. Aplikacji nie uruchamia się "na dysku sieciowym", tylko w systemie operacyjnym. Musisz mieć system z zainstalowanym serwerem ShVa i tam możesz zdeployować tę zmienną. Z reszty twojego opisu wnioskuję, że nie jest to rozwiązanie, którego potrzebujesz, więc nie będę wchodził w szczegóły.
- semper fidelis
- Posty: 74
- Rejestracja: 28 paź 2014 20:45
- Wersja środowiska: LabVIEW 2013
Event rozpoznajacy zamkniecie systemu i Shared variable
Wyjasniles dokladnie to czego potrzebowalem i co wlasnie przypuszczalem. Dzieki za pomoc.
Gdy wszyscy wiedzą, że coś jest niemożliwe, przychodzi ktoś, kto o tym nie wie, i to robi...