Как да коригирам OLE грешка 8004013F на Linux



Опитайте Нашия Инструмент За Премахване На Проблемите

Ако се опитвате да стартирате какъвто и да е вид база данни или макрос в среда, базирана на Wine, на някакъв вид внедряване на GNU / Linux, тогава може да получите някакво съобщение за грешка. В един момент по време на програмния поток в крайна сметка може да видите OLE грешка 8004013F кутия. След това вашият скрипт незабавно ще спре изпълнението. Ако това се случи, тогава повече от вероятно липсва библиотека, която вашият скрипт трябва да изпълни. В родния клиент на Windows тези библиотеки се използват за съвпадение на обекти вътре във файлове с техния родителски хост. Linux няма тази възможност, тъй като всяка програма, работеща в X Server, управлява нещата по свой начин.



Под собствена среда на Microsoft Windows, Delphi може да използва малка част от кода, за да отвори Excel. Ако искате вграден и свързан екземпляр на Excel да работи с различни обекти, тогава може би сте използвали eclApp: = CreateOleObject (‘Excel.Application’); да го направя. Вътре в Linux може би дори сте се опитали да използвате OpenOffice по този начин. Ако откриете, че Делфи хвърля страховитите 8004013F грешка при вас, след като се опитате да създадете OLE обект с екземпляр на eclApp: = CreateOleObject (‘com.sun.star.ServiceManager’); фрагмент, тогава вероятно страдате от същия проблем със зависимостта. Първо, прегледайте кода си за правописни грешки. Това са най-честите причини за грешки, дори преди да са включени зависимости. След като сте сигурни, че сте написали всичко правилно, и след това можете да продължите да възстановявате необходимите библиотеки.



Необходими OLE библиотеки

Можете също да изпитате същата грешка, ако сте се опитвали да използвате приложение за органайзер на Windows, наречено keynote-nf, и ако случаят е такъв, тогава можете да използвате същия процес, за да го отстраните. Файлът keynote.exe не идва с инсталатора, така че е обичайно да го копирате в директорията Program Files. Въпреки че може да се изпълнява, можете да изпитате или гореспоменатата грешка 8004013F, или различно изключение 80004001. И в двата случая направете директория вътре в Program Files с командата mkdir или с вашия графичен файлов мениджър. Наречете го KeyNote-NF и преместете двоичния файл keynote.exe върху него.



Ако имате достъп до дял с Windows XP, Vista, 7, 8, 8.1 или 10, тогава може да опитате да копирате файла msftedit.dll от C: Windows system32 директория към директорията KeyNote-NF, която сте създали. Трябва също да копирате файла msls31.dll. Можете да получите и двете от инсталационен компактдиск, но ще трябва да използвате командата за разширяване, за да ги надуете. И в двата случая стартирайте програмата и трябва да установите, че тя работи добре.



Thunar, Nautilus и други подобни файлови мениджъри ще идентифицират keynote.exe като DOS изпълним файл, който можете спокойно да игнорирате. Просто го стартирайте както преди. Когато щракнете с десния бутон за достъп до контекстното меню, всъщност може да получите опция, която ви насърчава да я стартирате под Wine. Изберете тази опция, за да я стартирате. Вместо това стартирането на програмата от терминала ще ви позволи да видите всички съобщения за грешки, които биха могли да повдигнат главата им в процеса. В някои случаи може действително да получите предупреждение за име на файл, различно от msftedit.dll или msls31.dll, което вместо това трябва да придобиете. Подобно на дупка на заек в зависимост от Unix, теоретично можете да прекарате известно време в придобиване на директория, пълна с различни файлове.

Когато имате същия проблем с кода на Excel или Delphi, отидете до директорията, която съдържа изпълнимия файл, който се опитвате да стартирате, и поставете двата динамично свързани библиотечни файла в тази директория. Можете да дадете на Wine пълен достъп до тях, като ги поставите ~ / .wine / drive_c / Windows / system32 също, но това може да замени някои от файловете, които Wine инсталира по подразбиране.

Тъй като тези DLL превъзхождат по някакъв начин решенията с отворен код, които Wine използва, те също могат да помогнат при свързването на обекти в други програми, които може да стартирате, но много потребители не харесват идеята да замърсят инсталацията си на Linux със затворен код файлове. Поставянето им само в директориите, които вашите програми действително използват, е най-добрият начин за решаване на този проблем. Можете дори да създавате директории за действителни аксесоари за Windows, които сте копирали от друг дял. Например някои потребители изпитват подобни проблеми, ако използват bash скрипт или Delphi код за стартиране на традиционни екземпляри на WordPad. Wine може да е инсталирал собствена версия на write.exe, но нищо не ви пречи да създадете директория в “~ / .Wine / drive_c / Program Files /” и поставяне на write.exe, msftedit.dll и msls31.dll към него, след което препратка към тази директория с вашия код. Тъй като Wine включва примитивна версия на cmd интерпретатора от Microsoft Windows NT, можете също да препращате към тези програми в групови скриптове, ако предпочитате. Уверете се, че ги предговаряте с @ECHO OFF, иначе всяка команда ще се появи така, сякаш сте я въвели в командния ред и след това натиснете Enter, за да я изпълните една след друга.

Много сайтове в Интернет предлагат DLL обекти за изтегляне и може да е изкушаващо да отидете с едно от тези хранилища, ако нямате инсталация на Windows на друг дял. Въпреки че те наистина могат да бъдат със сигурност удобни, уверете се, че сте извършили сканиране за злонамерен софтуер на msftedit.dll и msls31.dll, ако сте принудени да ги придобиете по този начин. Не трябва да се отнасяте към тези хранилища по същия начин, както към официалните, спонсорирани от проектите Ubuntu, Debian и Fedora.

Имайте предвид също, че ако сте принудени да ги придобиете по този начин, това може да доведе до проблеми с лицензирането, ако преразпределяте кода си. Не инсталирайте нито един изпълним файл, за който дадено такова хранилище пита, тъй като тези изпълними файлове са по-често форма на рекламен софтуер, предназначен да повлияе на потребителите на действителната официална софтуерна среда на Microsoft Windows. Същото важи и за всеки случай, в който може да се наложи да изтеглите множество различни библиотеки извън тези две, тъй като те могат да станат жертва на същия вид рекламен нашествие.

4 минути четене