Pogreška Rad s funkcijama iz vanjskih dinamički učitanih knjižnica

Pogreška Rad s funkcijama iz vanjskih dinamički učitanih knjižnica

Struktura knjižničnih resursa operativnog sustava Windows može se predstaviti na sljedeći način:

  • U početku, na najnižoj razini postoje "prekidi" samog sustava, čije "noge" rastu iz prvih verzija Windowsa, osim toga, sve od te dugo-prazne MS-DOS "Starice" ( Da, na toj razini nema gotovo 30 godina u sustavu Windows nije promijenilo). Pristup ovoj biblioteci lako je putem sastavljača na zapovijedi prekida (prekid), otuda i "prekid", iako u stvari, ova razina ima malu vezu s podprogramima obrade prekida.
  • Podižemo se jedan korak više i stižemo do Winsdk - skup softvera za razvojne programere iz sustava Windows. Ovo je vrsta analoga svih istih "prekida", ali već uzimajući u obzir specifičnosti organizacije Windows - programer dobiva pristup ovoj knjižnici kroz uobičajeni kôd jezika visokog nivoa koji ga koristi.

Jedina je poteškoća u tome što se terminologija opisa winsdk razlikuje od terminologije opisa najprimjerenijeg programskog jezika, njegovih funkcija (uzmite istog graditelja ili Delphija). Srećom, sve WinSDK funkcije detaljno su opisane u samim programerima (u stvari, s njima nema nikakve veze, njihova je popularnost tako velika).

Funkcije WinSDK prikupljaju se u datotekama dinamički povezanih (doslovno - učitanih) knjižnica - dinamički lobray (DLL). Korisnik takve knjižnice ne mora znati adresu funkcije iznutra - dovoljno je da zna ime funkcije i ima povjerenja da je funkcija u knjižnici. Ulaz ukazivanja na funkcije određuju se u opisu same knjižnice.

  • Također se povećavamo i u knjižnicama programa nadzora nad Windowsom. Jedna od najpoznatijih nadgradnje je grafički paket DirectX. Evo iste organizacije - sve iste DLL datoteke.

Ovdje s jednom od knjižnica DirectX i pogreška D3D11 je povezana.DLL - Pohranjuje funkcije prikazivanja volumetrijskih grafičkih modela.

Mala pojašnjenja

Ovdje morate shvatiti da se na ekranu pojavljuje kada se jednostavna poruka "Pogreška D3D11 pojavi.Dll ", ovo nije baš ispravna poruka, ne odražava točno suštinu problema. Ponekad postoji poruka o pogrešci "može stvoriti D3D11 uređaj" - Kako to popraviti, takva pogreška može malo pomoći.

Preciznije, ova bi poruka morala izgledati kao "pogreška unosa XYZ funkcije, u knjižnici D3D11.Dll "ili jednostavnije -" XYZ funkcija u knjižnici D3D11.DLL nije definiran ".

Druga stvar je da se programeri aplikacija često ne zamaraju pojašnjenjima i daju upravo jednostavnu, "neodređenu" verziju prirode pogreške koja je nastala. Ali to ne mijenja suštinu. Glavni razlozi neuspjeha - ili knjižnica D3D11.DLL je odsutan, kao opcija - d3d11.DLL nije pronađen ili ne sadrži potrebnu funkciju ili oštećen tako da je funkcija nepristupačna.

Ispravljanje pogreške

Ispravljanje pogreške pristupa funkciji u D3D11.DLL se sastoji u preuređivanju same knjižnice. DLL - izvršni kôd, unesite takvu datoteku i neće raditi na uređivanju. Štoviše, datoteka se odnosi na 11. verziju paketa DirectX.

Dakle, prvi način uklanjanja pogreške je preuređivanje paketa DirectX 11. Ova je metoda jednostavna i dugo je provjerena, glavna stvar je samo pronaći radnu verziju same SuperStructure, najbolje je to učiniti na službenoj web stranici Microsofta.

Instalacija DirectX u sustavu Windows

Drugi način je preurediti samo samo datoteku D3D11.Dll. To se može učiniti pomoću specijaliziranog programa DLL-Files.com, koji je besplatan i dostupan na istoimenom mjestu.

Dakle, instalirajte i pokrenite DLL-datoteke.

Potražite DLL datoteku u programu DLL-Files.Com

U traci za pretraživanje ulazimo "d3d11.Dll ". Nakon što se knjižnica pronađe, kliknemo "Install".

Instalacija DLL datoteke u programu DLL-Files.Com

Ako ste navikli raditi sve sami, problem se može ručno riješiti - ovo je treći put. Da biste ga koristili, preuzmite datoteku d3d11.DLL i stavite ga u pravu mapu sustava. Ovdje morate biti oprezni, jer je ova mapa u različitim verzijama sustava Windows različita (u primjerima se pretpostavlja da je sustav instaliran na disku "C:", ako to nije slučaj, tada je disk mora biti prikladan ):

  • U verzijama Windows XP, Vista, 7, 8, 8.1 i 10 - C: \ Windows \ System32;
  • U sustavu Windows 95, 98 i Me - C: \ Windows \ System;
  • U Windows NT i 2000 - C: \ Winnt \ System32.

Uzimamo u obzir - ako postoji i verzija sustava za procesor 64 -Tit, tada je u svakom slučaju konačna mapa za našu datoteku - "SYSWOW64".

Popis datoteke u mapu još ne pruža rad s njom. Sada ga treba registrirati u registru sustava Windows System. Da bismo to učinili, naredbe izvodimo kroz prozor (start/glavni izbornik/izvršavanje) naredba: regsvr32 d3d11.Dll.

Zaključak

Rješenje ogromne većine problema povezanih s vanjskim dinamički učitanim bibliotekama operativnog sustava Windows često je povezano jednostavno s preuređenjem same knjižnice, ili neovisno ili kroz zajednički paket (u našem primjeru - DirectX 11).

Moguće je instalirati u DLL datoteku i ručno, jednostavnim kopiranjem u željenu mapu. Ali, prvo, morate znati ovu mapu. I, drugo, takvu će se datoteku trebati registrirati u registru sustava Windows System. Ovdje ne možete bez službenih komunalnih usluga s registrama samog sustava.

Ako ste naišli na takvu pogrešku, pišite o svom iskustvu u komentarima.