Att skriva en vanlig Windows-dll som du kan använda i VB via ett Declare-statement är inte särskilt svårt. Exakt hur man gör beror dock på vilken C++-kompilator man använder.
Alltså: Vilken C++-kompilator använder du?
3 svar · 261 visningar · startad av pv98jgy
Jag har fått C++ kod som jag skall använda i min VB applikation. C++ koden skall bara exekveras och skall sedan returnera ett long värde tillbaka till VB. Jag vet att jag måste skapa en dll fil som tar hand om detta. Dock är jag inte till fullo klar på hur detta skall gå till. Någon som kan hjälpa mig eller vet någon guide som kan rekommenderas?
mvh Jonas
Att skriva en vanlig Windows-dll som du kan använda i VB via ett Declare-statement är inte särskilt svårt. Exakt hur man gör beror dock på vilken C++-kompilator man använder.
Alltså: Vilken C++-kompilator använder du?
Jag använder MS Visual C++.
OK. Om vi utgår från att din dll ska heta "mindll.dll" och din funktion "minfunktion" så ska du i grova drag göra så här:
1. Starta MSVC och skapa ett nytt project av typen "Win32 Dynamic Link Library". Välj "Empty Dll".
2. Knacka in din funktion i koden:
long _stdcall minfunktion()
{
/*
Din kod här ..
*/
}
_stdcall är viktigt om du ska anropa från VB.
3. Skapa en textfil i projektmappen med namnet "mindll.def".
Skriv följande i filen:
LIBRARY mindll
EXPORTS
minfunktion @1
4. Lägg till denna fil via Project->Add to project->Files
5. Kompilera.
Om allt går bra och du placerar din dll i tex systemmappen så ska du nu kunna anropa din funktion från VB genom:
Declare Function minfunktion Lib "mindll" () As Long
Med reservation för att jag inte vet hur din funktion ser ut eller om det finns eventuella inparametrar ..