Avatar billede lanstorp Nybegynder
15. april 2002 - 14:19 Der er 8 kommentarer og
1 løsning

File not found: EnFil.dll

Får fejlmedelsen 'File not found: EnFil.dll' når jeg kører mit program direkte fra VB (F5). Men hvis jeg så kompilerer mit projekt, kommer fejlen ikke. Dvs. dll'en (kodet i C og virker) kan nu godt findes. Hvorfor kan dll'en ikke findes, når der ikke er kompileret en exe fil?
Avatar billede a1a1 Novice
15. april 2002 - 14:25 #1
har du prøvet at ligge dll'en i samme mappe som dit projekt?
Avatar billede lanstorp Nybegynder
15. april 2002 - 14:33 #2
Der ligger den allerede, ellers vil exe fil filen jo også savne den. Kan VB projektet mon stå og pege et andet sted hen, end der hvor program filerne er placeret (samme sted som exe filen bliver placeret) ? ChDir er sat til App.Path.
Avatar billede a1a1 Novice
15. april 2002 - 14:43 #3
kalder du dll'en med navn og sti (ex: c:\enfil.dll)

eller er dll'en registreret
Avatar billede ocp Nybegynder
15. april 2002 - 14:46 #4
Det kan godt være lidt besværligt at gennemskue hvor koden bliver kørt, men når du kører i debug er det garanteret vb-biblioteket der er App.Path. Prøv at smide filen der og se om det ikke virker. Alternativt kunne du jo registrere din dll.
Avatar billede lanstorp Nybegynder
15. april 2002 - 14:51 #5
Den deklareres som:
Declare Function GetMaxGrid Lib "vmApi.dll" (ByVal ....)..
Så dll'en må vel kaldes med navn. Har prøvet at komme stien ind foran vmApi.dll i deklaretionen. Dll'en er ikke registreret (er det ikke ActiveX-Dll der skal det?). Er der andre måder at angive en sti på til en dll, så den kan findes?
Avatar billede tjacob Juniormester
15. april 2002 - 18:42 #6
DLL filers placering:
VB vil først kigge i windows-bibliotekerne ...\Windows, ...\Windows\System, ...\Windows\System32 osv
derefter kigges i App.Path.

App.Path: Hvis du åbner dit VB-projekt ved at klikke på projekt-filen, så er App.Path = den mappe hvor dit projekt ligger.
Hvis du åbner VB ved at klikke på en genvej til selve VB-miljøet (f.eks.) i startmenuen, så er App.Path = VB-biblioteket. I dette tilfælde vil din .dll fil IKKE kunne findes, medmindre den også ligger i en af Windows-mapperne.
Avatar billede lanstorp Nybegynder
16. april 2002 - 11:35 #7
tjacob >> Den spiser jeg. Tryk svar for point.
NB. Kan ChDir  ikke styrer hvor VB kikker efter Dll'er
Avatar billede tjacob Juniormester
02. maj 2002 - 18:59 #8
Det er længe siden jeg sidst tjekkede, men her er det ;-)
MHT ChDir: Nej. Det er generiske (indbyggede) funktioner der kigger efter dll'erne. Med ChDir sætter du blot en pointer til det bibliotek der skal være det aktive.

/tjacob
Avatar billede lanstorp Nybegynder
03. maj 2002 - 14:08 #9
Okeydokey, denne api hjalp
Function SetCurrentDirectoryA Lib "Kernel32.dll" (dir As String) As SmallInt
God weekend
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester