15. april 2002 - 14:19Der 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?
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.
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.
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?
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.
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.
Okeydokey, denne api hjalp Function SetCurrentDirectoryA Lib "Kernel32.dll" (dir As String) As SmallInt God weekend
Synes godt om
Ny brugerNybegynder
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.