Avatar billede christian_h Nybegynder
06. februar 2003 - 10:18 Der 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 ??.

Mvh

Christian_h
Avatar billede martin_moth Mester
06. februar 2003 - 10:32 #1
Hvis du skal bruge funktioner fra dll'en, kan du så ikke bare nappe dem med et API-kald? Så behøver du ikke tilføje nogen reference. Bare en tanke...
Avatar billede jrl0469 Nybegynder
06. februar 2003 - 13:17 #2
Martin - Er det ikke kun kernel, user og gdi dll'er?
Christian_h - Er det dem du vil have adgang til?
Avatar billede martin_moth Mester
06. februar 2003 - 13:20 #3
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(
Avatar billede christian_h Nybegynder
06. februar 2003 - 13:42 #4
Hej Alle.

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).

Håber dette kaster lidt mere lys over sagerne.

Mvh.

Christian_h
Avatar billede jrl0469 Nybegynder
06. februar 2003 - 14:07 #5
Martin - Jeg er ikke helt sikker men jeg mener at API omhandler funktioner beskrevet i de førnævnte dll'er...
Avatar billede jrl0469 Nybegynder
06. februar 2003 - 14:20 #6
Christian_h - Så skal du lave et objektkald til dll'en, find oplysningerne ved at søge i hjælp efter; Declaring an Object Variable
Avatar billede larslindgaard Nybegynder
06. februar 2003 - 15:00 #7
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.
Avatar billede martin_moth Mester
06. februar 2003 - 16:39 #8
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)
Avatar billede shjdsi Nybegynder
06. februar 2003 - 16:41 #9
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 ?
Avatar billede jrl0469 Nybegynder
06. februar 2003 - 16:42 #10
Der er faktisk en dll mere, nemlig winmm...
Avatar billede jrl0469 Nybegynder
06. februar 2003 - 16:45 #11
Instancing skal vist være = multiuse...
Avatar billede martin_moth Mester
06. februar 2003 - 17:02 #12
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..?

Der er sikkert en masse guf på http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=dll&IntlSearch=&boolean=ALL&ig=01&i=21&i=99&btnsearch=Submit+query
Avatar billede christian_h Nybegynder
06. februar 2003 - 17:05 #13
"Den skal være Multiuse eller GlobalMultiUse" er der også noget der hedder det hvis dll'en er lavet i C++ ??

Jeg har prøvet at registrerer den med Regsrv32 men det kan jeg ikke få lov til

Mvh.

Christian_h
Avatar billede larslindgaard Nybegynder
07. februar 2003 - 13:07 #14
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.
Avatar billede jrl0469 Nybegynder
07. februar 2003 - 13:14 #15
Har du prøvet at tilføje dll'en på din værktøjs(component)form?
Avatar billede christian_h Nybegynder
07. februar 2003 - 14:25 #16
Ja jeg har prøvet at tilføje dll'en til værktøjslinien, men VB siger at det ikke er et gyldigt ActiveX component.

Jeg prøver at kontakte ham der har lavet dll'en og vender tilbage når jeg har en løsning.

Mvh.

Christian_h
Avatar billede jrl0469 Nybegynder
07. februar 2003 - 14:30 #17
10-4
Avatar billede christian_h Nybegynder
09. februar 2003 - 12:23 #18
Hejsa.

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.

Mvh.

Christian_h
Avatar billede jrl0469 Nybegynder
13. februar 2003 - 08:56 #19
10-4 .2
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