Jak naprawić błąd OLE 8004013F w systemie Linux



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Jeśli próbujesz uruchomić jakąkolwiek bazę danych lub makro w środowisku opartym na Wine w dowolnej implementacji GNU / Linux, może pojawić się komunikat o błędzie. W pewnym momencie podczas przebiegu programu możesz ostatecznie zobaczyć plik Błąd OLE 8004013F pudełko. Twój skrypt natychmiast przerwie wykonywanie. Gdyby tak się stało, najprawdopodobniej brakuje Ci biblioteki, której potrzebuje Twój skrypt. W natywnym kliencie Windows te biblioteki są używane do dopasowywania obiektów w plikach do ich hosta nadrzędnego. Linux nie ma takiej możliwości, ponieważ każdy program działający na serwerze X zarządza rzeczami na swój własny sposób.



W natywnym środowisku Microsoft Windows Delphi może użyć małego fragmentu kodu do otwarcia Excela. Jeśli chcesz, aby osadzone i połączone wystąpienie programu Excel działało z różnymi obiektami, być może użyłeś eclApp: = CreateOleObject („Excel.Application”); aby to zrobić. W Linuksie mogłeś nawet próbować używać OpenOffice w ten sposób. Czy zauważysz, że Delphi rzuca przerażeniem 8004013F błąd po próbie utworzenia obiektu OLE z wystąpieniem eclApp: = CreateOleObject („com.sun.star.ServiceManager”); fragment, prawdopodobnie cierpisz na ten sam problem z uzależnieniem. Najpierw przejrzyj swój kod pod kątem błędów ortograficznych. Są to najczęstsze przyczyny błędów, nawet zanim zostaną zaangażowane zależności. Gdy upewnisz się, że wszystko zostało napisane poprawnie, możesz przystąpić do odzyskiwania potrzebnych bibliotek.



Niezbędne biblioteki OLE

Możesz również napotkać ten sam błąd, jeśli próbujesz użyć aplikacji organizatora systemu Windows o nazwie keynote-nf, a jeśli tak jest, możesz użyć tego samego procesu, aby go naprawić. Plik keynote.exe nie jest dostarczany z instalatorem, więc często kopiuje się go do katalogu Program Files. Chociaż może działać, może wystąpić wspomniany powyżej błąd 8004013F lub inny wyjątek 80004001. W obu przypadkach utwórz katalog w Program Files za pomocą komendy mkdir lub graficznego menedżera plików. Nazwij go KeyNote-NF i przenieś do niego plik binarny keynote.exe.



Jeśli masz dostęp do partycji Windows XP, Vista, 7, 8, 8.1 lub 10, możesz spróbować skopiować plik msftedit.dll z C: Windows system32 do utworzonego katalogu KeyNote-NF. Powinieneś także skopiować plik msls31.dll. Możesz również pobrać oba z instalacyjnego dysku CD, ale będziesz musiał użyć polecenia expand, aby je nadmuchać. W obu przypadkach uruchom program i powinieneś stwierdzić, że działa dobrze.



Thunar, Nautilus i inne podobne menedżery plików zidentyfikują keynote.exe jako plik wykonywalny DOS, który można bezpiecznie zignorować. Po prostu uruchom go tak, jak poprzednio. Kiedy klikniesz prawym przyciskiem myszy, aby uzyskać dostęp do menu kontekstowego, możesz otrzymać opcję zachęcającą do uruchomienia go pod Wine. Wybierz tę opcję, aby ją uruchomić. Uruchamianie programu z terminala pozwoli ci zobaczyć wszelkie komunikaty o błędach, które mogą przy okazji odwrócić ich uwagę. W niektórych przypadkach może się faktycznie pojawić ostrzeżenie dotyczące innej nazwy pliku niż msftedit.dll lub msls31.dll, które należy zamiast tego nabyć. Podobnie jak królicza dziura w zależności od Uniksa, teoretycznie możesz spędzić trochę czasu na gromadzeniu katalogu pełnego różnych plików.

Jeśli masz ten sam problem z kodem Excel lub Delphi, przejdź do katalogu zawierającego plik wykonywalny, który próbujesz uruchomić, i umieść w tym katalogu dwa dynamicznie połączone pliki bibliotek. Możesz dać Wine całkowity dostęp do nich, umieszczając je ~ / .wine / drive_c / Windows / system32 również, ale może to spowodować nadpisanie niektórych plików instalowanych domyślnie przez Wine.

Ponieważ te biblioteki DLL są pod pewnymi względami lepsze od rozwiązań open source, których używa Wine, mogą również pomóc w łączeniu obiektów w innych programach, które możesz uruchomić, ale wielu użytkownikom nie podoba się pomysł zanieczyszczania ich instalacji Linuksa za pomocą zamkniętego źródła akta. Umieszczenie ich tylko w katalogach, z których faktycznie korzystają Twoje programy, jest najlepszym sposobem rozwiązania tego problemu. Możesz nawet tworzyć katalogi dla rzeczywistych akcesoriów Windows skopiowanych z innej partycji. Na przykład niektórzy użytkownicy napotykają tego rodzaju problemy, jeśli używają skryptu bash lub kodu Delphi do uruchamiania tradycyjnych instancji WordPada. Wine mógł zainstalować własną wersję pliku write.exe, ale nic nie stoi na przeszkodzie, aby utworzyć katalog w „~ / .Wine / drive_c / Program Files /” i umieszczenie w nim pliku write.exe, msftedit.dll i msls31.dll, a następnie odwołanie się do tego katalogu za pomocą kodu. Ponieważ Wine zawiera prymitywną wersję interpretera cmd z Microsoft Windows NT, możesz również odwoływać się do tych programów w plikach skryptów wsadowych, jeśli wolisz. Upewnij się, że poprzedziłeś je @ECHO OFF, w przeciwnym razie każde polecenie będzie wyglądać tak, jakbyś wpisał je w wierszu poleceń, a następnie naciśnął klawisz Enter, aby wykonać je jedno po drugim.

Wiele witryn w Internecie oferuje obiekty DLL do pobrania i może być kuszące, aby skorzystać z jednego z tych repozytoriów, jeśli nie masz instalacji systemu Windows na innej partycji. Chociaż mogą one być z pewnością wygodne, upewnij się, że wykonujesz skanowanie pod kątem złośliwego oprogramowania w plikach msftedit.dll i msls31.dll, jeśli jesteś zmuszony pobrać je w ten sposób. Nie powinieneś traktować tych repozytoriów w taki sam sposób, jak tych oficjalnych sponsorowanych przez projekty Ubuntu, Debian i Fedora.

Pamiętaj również, że jeśli jesteś zmuszony do ich nabycia w ten sposób, może to spowodować problemy licencyjne, jeśli będziesz ponownie rozprowadzać swój kod. Nie instaluj żadnego pliku wykonywalnego, o który pyta każde takie repozytorium, ponieważ te pliki wykonywalne są najczęściej formą oprogramowania reklamowego zaprojektowanego, aby wpływać na użytkowników rzeczywistych oficjalnych środowisk oprogramowania Microsoft Windows. To samo dotyczy każdego przypadku, w którym może być wymagane pobranie wielu różnych bibliotek spoza tych dwóch, ponieważ mogą paść ofiarą tego samego rodzaju inwazji adware.

4 minuty czytania