maciejmt napisał(a)
Ja używam i nie mam problemów. No chyba że to Win7, to z tym różnie bywało.
Co do porad to w serwisach używam zawsze ścieżek bezpośrednich oraz jeśli odwołujesz się do sieciowego zasobu, to żeby user na który logujesz serwis miał uprawnienia : > No, ale to zapewne wiesz.
otocz w try catch i zapisz treść wyjątku do pliku lub podaj kod :)
Pewnie pisałeś z głowy, bo nie ma kropki w CreateOleObject
maciejmt napisał(a)
Ja używam i nie mam problemów. No chyba że to Win7, to z tym różnie bywało.
To niestety a może stety Vista.
maciejmt napisał(a)
Co do porad to w serwisach używam zawsze ścieżek bezpośrednich oraz jeśli odwołujesz się do sieciowego zasobu, to żeby user na który logujesz serwis miał uprawnienia : > No, ale to zapewne wiesz.
Tu sprawa jest prosta - plik jest na dysku lokalnym. Podaję pełną ścieżkę.
maciejmt napisał(a)
Pewnie pisałeś z głowy, bo nie ma kropki w CreateOleObject
No tak z głowy.
maciejmt napisał(a)
otocz w try catch i zapisz treść wyjątku do pliku lub podaj kod :)
Moja prawdziwa historia jest taka:
TServiceApplication uruchamia do wykonywania poszczególnych zadań osobne wątki. W moim przpadku zadaniem wątku jest preparacja i uruchomienie raportu w FastReport. Ten raport nie nie prezentuje, ale ma pewien kod w OnStartReport który się wykonuje. I w tymże właśnie raporcie (konkretnie jest to FastScript) mam napisany kawałek kodu (Pascal) który to kod:
loguje się do POP3
ściąga mail'a
zapisuje z niego załącznik na dysk
walczę z otwarciem tego pliku i skopiowania jego zawartości
wysyła to przez POST pod pewien adres
wysyła SMS'a z rezultatem wywołania
Wszystko działa - jak odpalam raport jako aplikację. Ale to generalnie może niepotrzebnie piszę o całości. Problem który się pojawił po odpaleniu w usłudze dotyczy Excel'a. W tym fastscripcie nie da się albo nie umię przechwycić komunikatu wyjątku (nie działa On E: Exception do). No więc po trochu robię kod na boku, i testuję. Tyle co zdążyłem wyłapać, to na początek brak CoInitialize - bez tego nie chciał się w ogóle tworzyć obiekt. Ale za nim na to wpadłem przegrzebałem i pozmieniałem co mi tylko wpadło w ręce - głównie dcomcnfg. Koniec końców przestał mi działać Excel w ogóle. Przed wyjście z roboty, ruszył mi xlsapp.workbook.open, ale nie wiem czego to było rezultatem ... eh. Zanim ruszył komunikat był że nie można otworzyć pliku i podane trzy przyczyny:
- jest używany przez inną aplikację
- ścieżka jest nieprawidłowa
- i jeszcze jedna - ale nie pamiętam
W każdym razie żadna nie była prawdziwa.
Czyli reasumując, powiedz mi tak: u Ciebie w TServiceApplication korzystanie z COM działa od strzała ? Czy musiałeś coś przekonfigurowywać ?
b