Jag har skapat följande DLL-fil vid namn ”kod.dll”: I vilket språk är din DLL skriven i? Du kan ju börja med att kolla om det funkar med: Med Private kom jag vidare. Har du skapat din dll i VB6 också? I så fall kan du inte anropa den på det där sättet. Ja jag har skapat min DLL i VB6. Det var därför jag frågade. VB dll'er använder du klasser och com för att få tillgång till dem. precis. ole dll:er (vb) och "riktiga" dller (c++ t ex) är 2 olika saker.anropa en DLL-fil
Function varde (ByVal siffra As Double)
varde=5*(siffra+20)
End Function
Nu skall jag anropa denna dll-fil i mitt VB6-projekt.
Jag lägger följande dekl. Överst i modulen:
Public Declare Function varde Lib ”kod.dll” (ByVal siffra As Double)
Jag vill sedan hämta ett värde:
Dim avkod As Double
Dim sifferkomb As Double
avkod=varde(sifferkomb)
Detta fungerar inte utan jag får följande felmeddelande: COMPILE ERROR
Constants, fixed-length strings, arrays, user-defined types and Declare statements
not allowed as Public members of object modules.
Kan någon hjälpa mig med detta?Sv: anropa en DLL-fil
Varför har du ingen returdatatyp på din funktion?Sv: anropa en DLL-fil
Private Declare Function varde Lib ”kod.dll” (ByVal siffra As Double)Sv:anropa en DLL-fil
Nu fick jag Run-time error 453 Can't find DLL entry point Varde in kod.dll.
DLL-filen är skriven i VB6.Sv: anropa en DLL-fil
Sv:anropa en DLL-fil
Hur gör jag då för att anropa DLL:en från mitt VB6-projekt? Sv: anropa en DLL-fil
Skapa en klass med din funktion i.
Lägg sedan till en referens till din dll i ditt projekt du vill anropa den från.
Skapa sedan en instans av din klass och anropa metoden på den.
Dim Y As Double
Dim X As MyProjectName.MyClassName
Set X = New MyProjectName.MyClassName
Y = X.MyFunction(12)
Sv:anropa en DLL-fil
skall du komma åt dina metoder i en riktig dll så får du kompilera den emd extern deklarationer (googla)
men nu har du ju en ole dll, så det kan inte bli enklare.
som redan skrivet:
lägg till en referens.
dimma ett objekt av typen (klassen)
kör på.
:)