uruchamienia tego samego programu

0

Wygląda do tak w katalogu gdzie mam napisany program jest inny program o nazwie PROG.exe który czyta sobie konfig z katalogu w którym się znajduje PROG.INI. I ten program PROG uruchamiany jest WinEXEC'iem przez moj program. Wszystko sie odpala jest ok, gdyby nie fakt ze w tym katalogu sa kolejne dwa foldery w ktorych jest znow program PROG.exe tyle ze te juz nie czytaja konfigów ze swoich katalogów, ale konfig z głownego katalogu, czyli z tego gdzie znajduje sie moj program, PROG.exe i PROG.ini. Jak zrobic zeby kazdy program odpalał konfig ze swojego katalogu a nie z katalogu w ktorym zjaduje sie moj program?

0

Pobieraj podczas uruchomienia aktualny katalog, w ktorym znajduje sie dana aplikacja. Znajac sciezke do programu, zmieniasz ja na sciezke do konfiga

jest to w FAQ

//Ps. na przyszlosc nazywaj sensownie swoje tematy, bo inaczej beda one przenoszone do kosza

0

trzy wyjścia które można użyć - polecane drugie (najlepiej w połączeniu z trzecim):

  1. daj przed WinExec polecenie ChDir na ścieżkę programu
  2. w swoim programie nie odczytuj konfiga w stylu 'prog.ini' tylko ExtractFilePath(Application.ExeName) + '\prog.ini'
  3. zamiast WinExec użyj ShellExecute (ShellApi do uses) i tam jako czwarty parametr masz ścieżkę z której program ma być uruchomiony, daj tam: PChar(ExtractFilePath(program_do_uruchomienia))
0

no wlasnie w tym sęk że program nie czyta konfiga z parametru, po prostu ma gdzies w kodzie zapisane ze ma sie tak nazywac i jest w katalogu z programem

0

a kto tu mówi o parametrach ? skoro to nie jest twój program to wykorzystaj trzeci sposób, chyba że rzeczywiście mimo że program uruchamiast i jest na

e:\program\costam\prog.exe

to czyta konfiga z

c:\program\prog.ini

to wtedy powiedz autorowi programu że jest mało normalny

1 użytkowników online, w tym zalogowanych: 0, gości: 1