webForumDet fria alternativet

från C++ till VB

.NETur .NET

3 svar · 261 visningar · startad av pv98jgy

Medlem sedan maj 200026 inlägg
Frågan#1

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

Medlem sedan juni 20022 599 inlägg
#2

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?

Medlem sedan maj 200026 inlägg
#3

Jag använder MS Visual C++.

Medlem sedan juni 20022 599 inlägg
#4

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

122 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)