06. februar 2003 - 10:18Der er
18 kommentarer og 1 løsning
Add DLL og Lib filer
Hejsa.
Hvordan add. jeg en dll til mit project i VB 6.0 ??
Jeg har prøvet flg. Project References Browse Men når jeg vælger den dll jeg vil have, siger den at det ikke var muligt at lave en reference til filen ??, betyder det er der er noget galt med filen ??.
jrl0469: Ja, dem kan man i hvert fald kalde med API - men kan man da ikke kalde alle dll'ere med API - nu er jeg vist på vej ud i en zone, hvor jeg næremere tror end ved :o(
Det er en gut som er ved at lave en DLL fil til mig, han har mailet en DLL og en LIB fil til mig, og skriver (They should be used basically the same as an activeX component).
Christian_h: Hvilken dll-fil er det du prøver med? Hvis dll-filen ikke er et COM-object kan du ikke referere til objectet....
Jeg vil give jrl0469 ret i at du ikke kan bruge API-kald til dll'er. API-kald bruges til at hente informationer omkring brugeren, kørende processer, manipulering med de kørende vinduer.
larslindgaard: Jeg har lavet masser af API-kald til bl.a. Kernel32.dll - men ved ikke om det kun kan lade sig gøre med "originale" windows-dll'ere som kernel32, user32 og gdi32, som jrl0469 foreslår.
Og jeg ved ikke om den .dll han har fået tilsendt skal registreres på en eller anden måde. Men nu holder jeg mund og blander jeg mig ud af diskussionen, og forsøger at blive klogere af de svar der kommer...:o)
hmmm! Jeg har selv siddedog rodet med det dette. Hvad er der egenligt der gør at nogle dll filer ikke kan bruges i vb6. Når man skriver en dll i vc6 exportere man funtionerne. Jeg har imidlertid også prøvet at kalde funktioner fra en anden dll fil der bruges i et totalt andet sammenhæng, hvis jeg prøver at adde det i reference under project får jeg at vide at der ingen referencer er. prøver jeg at kalde en funktiov via declare lib et eller andet virker det heller ikke. Skal en dll fil laves eller kompileres på en bestemt måde for at man kan kalde dens funktioner fra vb ?
Nå ja - hvis Instancing er sat til Private eller PublicNotCreatable da dll'en blev lavet, er der ikke mulighed for at tilgå den. Den skal være Multiuse eller GlobalMultiUse. Ikke at det er noget du kan ændre på når du har fået dll'en, men tjek hos leverandøren at dette er OK :o) Har stadig på fornemmelsen at den skal registreres på en eller anden måde, men måske noget jeg har misforstået..?
Christian_h: Du gør det rigtige, når du forsøger at add'e en reference til en dll. Ingen tvivl om det! Hvis du ikke kan registrere filen via Regsrv32 har du ikke fat i fil der refereres til fra VB.
Det er selvfølgeligt muligt at kompilere filer i andre programmeringssprog uden at de nødvendigvis kan tilgåes fra COM-objekter.. Du skal nok, som martin_moth nævner, kontakte leverendøren/ophavsmanden til filen for at kunne løse dit problem.
Hvordan du gør en fil kompileret i C++ accessable fra andre sprog (VB), det skal du måske finde ud af i et andet forum end VB.
Jeg lovede at vende tilbage med et svar, og her er det.
Ham der har lavet Dll'en kunne ikke lige fortælle hvad der var galt, så han har derfor besluttet at lave en ActiveX plugin til mig i stedet for, den er nu undervejs.
Tak for de gode forsalg, men da ingen af dem jo har løst problemet, trækker jeg point tilbage igen. Håber dette møder jeres forståelse.
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.