wywołanie pliku exe

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
honda
Posty: 210
Rejestracja: 18 lis 2008 14:13
Wersja środowiska: LabVIEW 8.6
Kontakt:

wywołanie pliku exe

Post autor: honda »

Witam,

jak zrobić żeby przyciskiem wywołać wykonanie programu z rozszerzeniem exe. Program exe nie jest związany z LV.

pzdro
Awatar użytkownika
skrzatswat
Posty: 21
Rejestracja: 13 lut 2012 16:26
Wersja środowiska: LabVIEW 2011

Re: wywołanie pliku exe

Post autor: skrzatswat »

poczytaj o:
Załącznik exe.jpg nie jest już dostępny
Załączniki
exe.jpg
Obrazek
honda
Posty: 210
Rejestracja: 18 lis 2008 14:13
Wersja środowiska: LabVIEW 8.6
Kontakt:

Re: wywołanie pliku exe

Post autor: honda »

Czesc,

probuję uzywac tej funkcji i nie wiem dlaczego wywolujac program sluzacy do tworzenia Backupu bazy wywala mi "Error 2 occurred at System Exec.vi. Command was "Backup_Bazy.exe", Possible reason(s): LabVIEW: Memory is full. Jest na to jakaś rada ?

pozdro
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

wywołanie pliku exe

Post autor: Pitol »

Musisz wpisać to w taki sposób: "cmd /c Backup_bazy.exe". Jeśli mnie pamięć nie myli to musisz jeszcze podpiąć Working Directory, które wskaże na katalog z tym programem. Nie musisz tego robić, ale jeśli tego nie zrobisz to wtedy należy podać pełną ścieżkę do pliku Backup_bazy.exe w linii komend.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: wywołanie pliku exe

Post autor: PiDi »

Pitol prawie dobrze mówi, mała referencja: http://digital.ni.com/public.nsf/allkb/ ... A20073C616
Tam trzeba po prostu podać bezwzględną ścieżkę do exe-ka, wywołanie "cmd /c Backup_bazy.exe" też się nie uda. Working Directory oznacza folder, w którym program będzie się wykonywał - mniej więcej tak, jakby z poziomu linii poleceń przejść do jakiegoś folderu i z niego uruchomić program. Czyli wykonać po kolei komendy w stylu:

Kod: Zaznacz cały

cd C:\Costam\Ciekawyfolder\
D:\Program\run.exe
C:\Costam\Ciekawyfolder\ będzie Working Directory dla programu run.exe.
ObrazekObrazekObrazekObrazek
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: wywołanie pliku exe

Post autor: Pitol »

PiDi pisze: wywołanie "cmd /c Backup_bazy.exe" też się nie uda.
Uda się, jeśli do Working Directory podepniemy folder, gdzie ten Backup_bazy.exe się znajduje.

EDIT:
Faktycznie, w pomocy do System Exec jest napisane:
Note Do not use working directory to locate the executable you want to run. working directory applies to the executable only after it launches.
Aczkolwiek można tak robić i działa :)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: wywołanie pliku exe

Post autor: PiDi »

Tak, można tak zrobić faktycznie. Obaj się kręcimy wokół prawidłowej odpowiedzi, więc doprecyzujmy:
- System Exec.vi pod Windowsem działa jak polecenie Uruchom (klawisz windows + R), czyli uruchamia podany program
- Wywołanie System Exec.vi z poleceniem "cmd /c Backup_bazy.exe" w praktyce uruchomi program cmd.exe (czyli wiersz poleceń), który będzie się starał uruchomić Backup_bazy.exe w swoim aktualnym folderze roboczym (czyli Working Directory)

Co oznacza, że oba te wywołania są poprawne (choć zdecydowanie nie są identyczne, ale oba uruchomią program Backup_bazy.exe):
Załączniki
System Exec.png
System Exec.png (13.34 KiB) Przejrzano 10540 razy
ObrazekObrazekObrazekObrazek
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

wywołanie pliku exe

Post autor: Pitol »

Zgadzam się... I przyznam, że różnicy nie znałem między oboma wywołaniami. Dzięki PiDi :)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ