Odczyt danych z pliku w usłudze

0

Witam,
Mam zrobiony w delphi 2007, który ma proste zadanie - pobrać 2 parametry z pliku i pilnować by te 2 inne procesy działały. Jak nie działa któryś to go ma podnieść.
Dopóki nie ma odczytu z pliku ini - wszystko działa (na parametrach wpisanych na sztywno w kod usługi). A gdy jest usługa - uruchamiam na zarządzaniu - po chwili usługa wyłącza się.
Miał ktoś coś takiego ? i jak to rozwiązał ?

0

brak dostępu dla usługi do pliku ini. Weź odczyt w try - except i zapisz błąd do jakiegoś pliku a potem zobacz na czym się wywala

1

Prawdopodobnie musisz podać **pełną **ścieżkę do pliku.

0

Witam,
Macie Panowie rację. Ścieżka to podstawa - szczególnie root w C:\ w Windows 10.

Zaczeło chodzić ale mam inny objaw:

Aplikacja okienkowa (VCL Forms), uruchamia się w tle i nie widać okna. Co jeszcze może być źle ?

Pozdrawiam,

PS: Aplikacja jest uruchamiana SHellExecute

2

usługa jako taka nie potrzebuje pulpitu i generalnie nie powinna nawet z nim próbować "rozmawiać". Oznacza to, że sama usługa nie powinna mieć żadnych okienek i nie powinna bezpośrednio podejmować akcji z userem. W związku z tym może być uruchamiana na użytkowniku, który nie jest zalogowany czy wręcz na użytkowniku, który nie ma pulpitu. Jeśli z usługi uruchamiasz jakiś program okienkowy to powinieneś uruchomić go na konkretnego użytkownika, który jest zalogowany do systemu.
https://stackoverflow.com/questions/15319158/use-shell-execute-to-run-cmd-as-admin
https://technet.microsoft.com/pl-pl/library/cc771525(v=ws.10).aspx

0

Cześć,
Dzięki to trochę naświetliło sprawę, ale nie dało rozwiązania.
Wykorzystałem te przykłady ale to nie odnosi większego skutku. Efekt jest taki, że czy ustawie dane konta w serwisie czy ustawie parametry runas, to cały czas i niezmiennie uruchamia się jako proces w tle. Czy nie ma na to jakiegoś obejścia ? Żeby uruchamiała się następna aplikacja jako okienko nawet na jakieś konto systemowe ?

Pozdrawiam

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