Как исправить ошибку OLE 8004013F в Linux —

Если вы пытаетесь запустить какую-либо базу данных или макрос в среде на основе Wine в любой реализации GNU / Linux, то вы можете получить какое-то сообщение об ошибке. В какой-то момент во время выполнения программы вы можете в конечном итоге увидеть Ошибка OLE 8004013F коробка. Ваш сценарий немедленно прекратит выполнение. Если это произойдет, то вам, скорее всего, не хватает библиотеки, которую должен запустить ваш скрипт. В собственном клиенте Windows эти библиотеки используются для сопоставления объектов внутри файлов с их родительским узлом. В Linux нет такой возможности, поскольку каждая программа, работающая на X-сервере, управляет всем по-своему.

В собственной среде 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. То же самое касается любого случая, когда вам, возможно, потребовалось загрузить несколько различных библиотек за пределами этих двух, поскольку они могут стать жертвами одного и того же вида вторжения рекламного ПО.

Ссылка на основную публикацию
Adblock
detector