Usługa, dll i błąd 126

0

Cześć, szlag mnie już trafia. Szukam w necie, czytam, ale nic mi to nie daje.

Sytuacja wygląda tak. Mam usługę, która podczas uruchamiania dynamicznie wczytuje sobie dllki.

I teraz tak. Jest sobie plik, nazwijmy go: bsdb.dll. Przed chwilą wszystko działało OK. Dodałem do pliku jedną linijkę(FreeAndNil na obiekcie AdoQuery), wyłączyłem usługę, skopiowałem gotową dll, włączam usługę i się okazuje, że LoadLibrary nie ładuje już tej biblioteki, a GetLastError zwraca 126. Taka sytuacja występuje tylko na serwerze(inne pliki zaczytuje bez problemu). Na moim komputerze wszystko działa OK. Ścieżki wszystkie są poprawne. DLL jest w odpowiednim miejscu. O co mu chodzi?

0

jeśli program widzi bsdb.dll to w 99,99% przypadków nie może znaleźć dllki, od której zależy bsdb.dll. Użyj Dependency Walker żeby zobaczyć czego brakuje - pewnie jakichś bibliotek do ADO

0
Misiekd napisał(a)

jeśli program widzi bsdb.dll to w 99,99% przypadków nie może znaleźć dllki, od której zależy bsdb.dll. Użyj Dependency Walker żeby zobaczyć czego brakuje - pewnie jakichś bibliotek do ADO

Jest druga biblioteka, która też używa ADO i działa ok. Zresztą kilka chwil wcześniej ta też działała. Zainteresuję się tym Dependency Walker

0

no ale teraz NIE DZIAŁA, a kod 126 to nie mogę znaleźć biblioteki niekoniecznie tej "pierwszej", którą ładujesz z aplikacji ale może to być jakaś, którą ładuje ta dllka lub kolejna. Jeśli to jest usługa to może nie ma uprawnień do jakiegoś folderu

0

Nie wiem, co mam o tym myśleć. Na kompie, na którym nie działa, DW pokazał: dwmapi.dll. Odpaliłem z ciekawości na kompie, na którym wszystko jest OK. Wskazał mi 2 pliki: IESHIMS.DLL i WER.DLL. Co mam o tym myśleć?

0

OK, już rozkminiłem. Miałem w uses biblioteki FastMM4 z opcją FULLDEBUG bez odpowiedniej biblioteki.

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