Avatar billede sion Nybegynder
16. maj 2003 - 20:31 Der er 17 kommentarer og
2 løsninger

Kald af DLL vha. "Declare Function"

Man kan kalde DLL-filer lavet i C++ med f.eks.
Private Declare Function DllFil Lib "EnDllFil" () As String
Kan man ikke kalde DLL-filer lavet i VB på samme måde, altså uden først at have registeret filen, og uden at skulle til at definere objektet ?
-Sion
Avatar billede arne_v Ekspert
16. maj 2003 - 20:35 #1
Korrekt.

Du kan kalde en WINAPI DLL efter declare.

Det er nemt at lave WINAPI DLL filer i C/C++.

VB kan ikke lave WINAPI DLL filer.

VB kan godt lave ActiveX DLL'er.

ActiveX DLL'er skal kaldes på en helt anden måde.
Avatar billede sion Nybegynder
16. maj 2003 - 20:37 #2
Så du siger at det på ingen måde er muligt at benytte en VB-dll fil uden at den er registeret?
Avatar billede arne_v Ekspert
16. maj 2003 - 20:40 #3
Jeg er ikke VB ekspert.

Men så vidt jeg ved kan man *ikke* kalde en ActiveX DLL på
samme måde som en WINAPI DLL.

Jeg har undersøgt de ting en lille smule for et stykke tid siden.

Så på trodt af min begrænsede VB viden er jeg ret sikker.
Avatar billede Slettet bruger
16. maj 2003 - 20:48 #4
Du er nødt til at registrere den for at VB kan se hvilke metoder og objekter som du prøver at benytte.
Avatar billede sion Nybegynder
16. maj 2003 - 20:50 #5
bertie -> Den metode som skal benyttes defineres, ligesom ved C++ DLL-filer, i Declare-funktionen...
Avatar billede Slettet bruger
16. maj 2003 - 21:04 #6
Den måde jeg har brugt en selvlavet dll på er ved at inkludere den i VB's references og så er den nødt til at være registreret.
Jeg benytter mig også af noget 3. parts og der laver jeg også declares men dll skal stadig være registreret før jeg kan bruge det, jeg skal ikke kunne sige om man kan gøre det anderledes.
Avatar billede arne_v Ekspert
16. maj 2003 - 21:09 #7
Med en WINAPI DLL og declare behøver en DLL ikke være registreret.

(jeg tror faktisk ikke at den kan registreres)
Avatar billede sjh Nybegynder
16. maj 2003 - 22:22 #8
Her er noget om hvordan man laver/bruger API-Dll (c++)

http://www.mentalis.org/vbtutor/tutmain.shtml
Tutorial 8:  Using API in VB
Tutorial 9:  Creating and using your own VC++ DLLs
Tutorial 10: Using the Win32 API in VB
Avatar billede sion Nybegynder
16. maj 2003 - 22:25 #9
sjh -> Det der beskrives her er jo udelukkende API-kald og kald af C++ dll-filer, hvilket ikke er det der spørges efter. Jeg har ikke kunne finde noget om hvordan man kalder VB-dll filer, på den linkede side...
Avatar billede sjh Nybegynder
16. maj 2003 - 22:35 #10
ok du kan kalde din vb class dll med CreateObject("Project1.Class1")


'-------------------- Class1 --------------------
'Project1
'Class1
Option Explicit

Public Function Test() As String
  Test = CStr(Now)
End Function
'-------------------- Class1 --------------------


'-------------------- Form1 --------------------
Option Explicit

Private Sub Form_Load()
Dim objTest As Object
  Set objTest = CreateObject("Project1.Class1")

  Me.Caption = objTest.Test

  Set objTest = Nothing
End Sub
'-------------------- Form1 --------------------
Avatar billede sion Nybegynder
16. maj 2003 - 22:38 #11
WHAAAAAAAAAT!! Det virker faktisk! Det var sq da utroligt!
Avatar billede sion Nybegynder
16. maj 2003 - 22:45 #12
men hov! Det virker jo kun fordi DLL-filen er blevet registeret...!
Avatar billede sjh Nybegynder
16. maj 2003 - 22:46 #13
ja det kan du ikke komme uden om.
Avatar billede sion Nybegynder
16. maj 2003 - 22:49 #14
Ok ok, so be it!
Avatar billede sjh Nybegynder
16. maj 2003 - 22:51 #15
hvis du har adgang til C++ kan du lave en API-DLL
http://www.mentalis.org/vbtutor/vcdll1.shtml
Avatar billede sion Nybegynder
16. maj 2003 - 22:52 #16
Ja, det kunne jeg jo - men det er jo ikke nok at have adgang til C++, man skal også kunne kode stadset ;)
Avatar billede sjh Nybegynder
16. maj 2003 - 22:54 #17
hvad er problemet med at registre din vb-dll?
Avatar billede sion Nybegynder
16. maj 2003 - 22:56 #18
Det er ikke noget problem, jeg ville bare hellere bruge WINAPI-metoden, men var ikke sikker på at det kunne lade sig gøre - og nej :(
Avatar billede sjh Nybegynder
16. maj 2003 - 22:58 #19
Ja hvem ville ikke det :)
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