Kako popraviti napako OLE 8004013F v Linuxu



Preizkusite Naš Instrument Za Odpravo Težav

Če poskušate zagnati katero koli bazo podatkov ali makro v okolju, ki temelji na vinu, na kakršni koli izvedbi GNU / Linux, potem se lahko prikaže nekakšno sporočilo o napaki. Na neki točki med potekom programa boste na koncu morda videli Napaka OLE 8004013F škatla. Nato bo vaš skript takoj prenehal izvajati. Če bi se to zgodilo, verjetno manjka knjižnica, ki jo mora izvajati vaš skript. V izvornem odjemalcu Windows se te knjižnice uporabljajo za povezovanje predmetov znotraj datotek s starševskim gostiteljem. Linux te zmožnosti nima, saj vsak program, ki se izvaja v strežniku X, stvari upravlja na svoj način.



V izvornem okolju Microsoft Windows lahko Delphi z majhnim bitom kode odpre Excel. Če ste želeli, da vdelani in povezani primerek Excela deluje z različnimi predmeti, potem ste morda uporabili eclApp: = CreateOleObject (‘Excel.Application’); narediti tako. Znotraj Linuxa ste morda celo poskušali uporabiti OpenOffice na ta način. Če najdete Delphija, ki meče strah 8004013F pri poskusu ustvarjanja predmeta OLE s primerkom datoteke eclApp: = CreateOleObject (‘com.sun.star.ServiceManager’); delček, potem verjetno trpite za isto težavo z odvisnostjo. Najprej poglejte v svojo kodo, da najdete napačno črkovane črke. To so najpogostejši vzroki za napake, še preden so vključene odvisnosti. Ko se prepričate, da ste vse pravilno napisali, nato lahko nadaljujete z obnovitvijo potrebnih knjižnic.



Potrebne knjižnice OLE

Do iste napake lahko pride tudi, če ste poskušali uporabiti program za organizatorje Windows, imenovan keynote-nf, in če je temu tako, lahko z istim postopkom to odpravite. Datoteka keynote.exe nima namestitvenega programa, zato je običajno, da jo kopirate v imenik programskih datotek. Čeprav se lahko izvaja, lahko naletite na zgoraj omenjeno napako 8004013F ali na drugačno izjemo 80004001. V obeh primerih naredite imenik znotraj programskih datotek z ukazom mkdir ali z grafičnim upraviteljem datotek. Pokličite ga KeyNote-NF in nanj premaknite binarno datoteko keynote.exe.



Če imate dostop do particije Windows XP, Vista, 7, 8, 8.1 ali 10, boste morda želeli poskusiti kopirati datoteko msftedit.dll iz C: Windows system32 v imenik KeyNote-NF, ki ste ga ustvarili. Kopirajte tudi datoteko msls31.dll. Oba lahko dobite tudi na namestitvenem CD-ju, vendar boste morali uporabiti ukaz za razširitev, da jih boste napihnili. V obeh primerih zaženite program in ugotovili boste, da deluje v redu.



Thunar, Nautilus in drugi podobni upravitelji datotek bodo keynote.exe prepoznali kot izvršljivo datoteko DOS, ki jo lahko varno prezrete. Preprosto ga zaženite kot prej. Ko z desno miškino tipko kliknete za dostop do kontekstnega menija, boste morda dejansko dobili možnost, ki vas spodbuja, da jo zaženete pod vinom. Izberite to možnost, da jo zaženete. Namesto tega, če zaženete program s terminala, boste videli vsa sporočila o napakah, ki bi jim v tem procesu lahko zadala glavo. V nekaterih primerih lahko dejansko prejmete opozorilo o imenu datoteke, ki je drugačno od msftedit.dll ali msls31.dll, ki bi ga namesto tega morali pridobiti. Podobno kot zajčja luknja odvisnosti Unixa lahko tudi teoretično porabite nekaj časa za nakup imenika, polnega različnih datotek.

Ko imate enako težavo s kodo Excel ali Delphi, se pomaknite do imenika, ki vsebuje izvršljivo datoteko, ki jo želite zagnati, in v ta imenik postavite dve dinamično povezani knjižnični datoteki. Vinu lahko omogočite popoln dostop do njih, če jih vstavite ~ / .wine / drive_c / Windows / system32 prav tako pa lahko to pripiše nekatere datoteke, ki jih Wine privzeto namesti.

Ker so te DLL-je na nek način boljše od odprtokodnih rešitev, ki jih uporablja Wine, lahko pomagajo tudi pri povezovanju predmetov v drugih programih, ki bi jih morda zagnali, vendar mnogim uporabnikom ni všeč ideja, da bi svojo namestitev Linuxa onesnažili z zaprtim kodom datotek. Če jih shranite samo v imenike, ki jih vaši programi dejansko uporabljajo, je najboljši način za rešitev te težave. Lahko celo ustvarite imenike dejanskih dodatkov za Windows, ki ste jih kopirali z druge particije. Na primer, nekateri uporabniki imajo tovrstne težave, če za zagon tradicionalnih primerkov WordPad uporabljajo skript bash ali kodo Delphi. Wine je morda namestil lastno različico write.exe, vendar vam nič ne preprečuje ustvarjanja imenika v “~ / .Wine / drive_c / Program Files /” in nanj umestite write.exe, msftedit.dll in msls31.dll, nato pa ta imenik navedete s svojo kodo. Ker Wine vključuje primitivno različico tolmača cmd iz operacijskega sistema Microsoft Windows NT, se lahko na te programe sklicujete tudi v paketnih datotekah skriptov, če želite. Predgovorite jih z @ECHO OFF, sicer se bo prikazal vsak ukaz, kot da ste ga vnesli v ukazno vrstico in nato pritisnili Enter, da ga izvedete enega za drugim.

Številna spletna mesta ponujajo predmete DLL za prenos in morda bo skušnjava, da se odločite za eno od teh skladišč, če na drugi particiji nimate namestitve sistema Windows. Čeprav so lahko resnično priročne, preverite, ali ste na mestih msftedit.dll in msls31.dll opravili pregled zlonamerne programske opreme, če ste jih prisiljeni pridobiti na ta način. S temi skladišči ne bi smeli ravnati enako kot z uradnimi, ki jih sponzorirajo projekti Ubuntu, Debian in Fedora.

Upoštevajte tudi, da če jih boste prisiljeni pridobiti na ta način, lahko pri ponovni distribuciji kode povzroči pomisleke glede licenciranja. Ne nameščajte nobene izvršljive datoteke, ki bi jo vprašalo katero koli takšno skladišče, saj so te izvršljive datoteke pogosteje kot oblika oglasne programske opreme, namenjene vplivanju na uporabnike dejanskih uradnih programskih okolij Microsoft Windows. Enako velja za vsak primer, ko bi morda morali prenesti številne različne knjižnice zunaj teh dveh, saj lahko postanejo žrtev iste vrste invazije oglaševalske programske opreme.

4 minute branja