Napaka pri delu s funkcijami iz zunanjih dinamično naloženih knjižnic

Napaka pri delu s funkcijami iz zunanjih dinamično naloženih knjižnic

Struktura knjižničnih virov operacijskega sistema Windows je lahko predstavljena na naslednji način:

  • Sprva, na najnižji ravni, obstajajo "prekinitve" samega sistema, katerega "noge" rastejo že od prvih različic oken, poleg tega pa vse od tiste dolgoletne "stare ženske" MS-DOS ( Da, na tej ravni skoraj 30 let v sistemu Windows ni spremenilo). Dostop do te knjižnice je zlahka prek sklopa na ukaz InterUp (prekinitev), torej "prekinitev", čeprav ima ta raven v resnici malo povezanosti s podprogrami obdelave prekinitve.
  • Vstanemo za korak višje in pridemo do WinsdK - nabor programske opreme za razvijalce iz sistema Windows. To je nekakšen analog vseh istih "prekinitev", vendar že upošteva posebnosti organizacije Windows - razvijalec dobi dostop do te knjižnice s pomočjo običajne kode jezika na visoki ravni, ki jo uporablja.

Edina težava je v tem, da se terminologija opisa WINSDK razlikuje od terminologije opisa najbolj uporabnega programskega jezika, njegovih funkcij (vzemite istega graditelja ali Delphija). Na srečo so vse funkcije WINSDK podrobno opisane pri samih razvijalcev (pravzaprav z njimi ni nič skupnega, njihova priljubljenost je tako velika).

Funkcije WINSDK se zbirajo v datotekah dinamično povezanih (dobesedno naloženih) knjižnic - Dynamic Lobray (DLL). Uporabnik takšne knjižnice ni treba poznati naslova funkcije znotraj - dovolj mu je, da pozna ime funkcije in ima zaupanje, da je funkcija v knjižnici. Vhodne točke na funkcije so določene v opisu same knjižnice.

  • Prav tako se dvignemo višje in smo v knjižnicah nadzora nad Windows. Ena najbolj znanih nadgradnje je grafični paket Directx. Tu je ista organizacija - vse iste datoteke DLL.

Tukaj z eno od knjižnic DirectX in napaka D3D11 je povezana.DLL - shranjuje funkcije prikazovanja volumetričnih grafičnih modelov.

Majhna pojasnila

Tu morate razumeti, da se na zaslonu prikaže preprosto sporočilo "Napaka D3D11.Dll ", to ni ravno pravo sporočilo, ne odraža natančno bistva problema. Včasih obstaja sporočilo o napaki "lahko ustvarite napravo D3D11" - kako jo popraviti, taka napaka lahko malo pomaga.

Natančneje, to sporočilo bi moralo izgledati kot "Napaka pri vstopu v funkcijo XYZ v knjižnici D3D11.Dll "ali Simpler -" XYZ Funkcija v knjižnici D3D11.Dll ni definiran ".

Druga stvar je, da se razvijalci aplikacij pogosto ne obremenjujejo s pojasnili in dajejo natančno preprosto, "nedoločeno" različico narave napake, ki se je pojavila. Toda to ne spremeni bistva. Glavni razlogi za neuspeh - ali knjižnico D3D11.DLL je odsoten kot možnost - D3D11.DLL ni bil na voljo ali ne vsebuje potrebne funkcije ali poškodovane, tako da je funkcija nedostopna.

Popravek napake

Popravek napake dostopa do funkcije v D3D11.DLL je sestavljen iz preureditve same knjižnice. DLL - izvedljiva koda, vnesite takšno datoteko in ne bo delovala za urejanje. Poleg tega se datoteka nanaša na 11. različico paketa DirectX.

Tako je prvi način za odpravo napake preurediti paket DirectX 11. Ta metoda je preprosta in je že dolgo preverjena, glavna stvar je le najti delovno različico same nadgradnje, najbolje je to storiti na uradni spletni strani Microsofta.

Namestitev DirectX v sistemu Windows

Drug način je preurediti samo datoteko D3D11.Dll. To je mogoče storiti s pomočjo specializiranega pripomočka DLL-datotek.com, ki je brezplačno in na voljo na istoimenskem mestu.

Torej, namestite in zaženite DLL-datoteke.

Poiščite datoteko DLL v programu DLL-Files.Com

V iskalno vrstico vnesemo "D3D11.Dll ". Ko je knjižnica najdena, kliknemo "Namestitev".

Namestitev datoteke DLL v programu DLL-datotek.Com

Če ste navajeni, da vse počnete sami, potem lahko težavo rešite ročno - to je tretji način. Če ga želite uporabiti, prenesite datoteko D3D11.DLL in ga postavite v pravo sistemsko mapo. Tu morate biti previdni, saj je ta mapa v različnih različicah sistema Windows drugačna (v primerih se domneva, da je sistem nameščen na disku "C:" )::

  • V različicah Windows XP, Vista, 7, 8, 8.1 in 10 - C: \ Windows \ System32;
  • v sistemu Windows 95, 98 in jaz - c: \ Windows \ sistem;
  • V sistemu Windows NT in 2000 - C: \ winnt \ System32.

Upoštevamo - če obstaja tudi različica sistema za 64 -bitski procesor, potem je končna mapa za našo datoteko v vsakem primeru - "syswow64".

Popis datoteke v mapo še ne zagotavlja dela z njo. Zdaj ga je treba registrirati v sistemu Windows. Če želite to narediti, izvedemo ukaze skozi okno (start/main menu/execute) ukaz: regsvr32 d3d11.Dll.

Zaključek

Rešitev velike večine težav, povezanih z zunanjimi dinamično naloženimi knjižnicami operacijskega sistema Windows.

Možno je namestiti v datoteko DLL in ročno, s preprostim kopiranjem v želeno mapo. Najprej pa morate vedeti to mapo. In drugič, takšno datoteko bo treba registrirati v registru sistema Windows. Tukaj ne morete brez uradnih gospodarskih služb s registrom samega sistema.

Če ste naleteli na takšno napako, potem v komentarjih napišite o svoji izkušnji.