webForumDet fria alternativet

Använda äldre dll ?

.NET

11 svar · 571 visningar · startad av Zaiman

Medlem sedan dec. 20014 239 inlägg
Frågan#1

Hej

Är ny i .NET och undrar hur man får tag på ett api från en dll fil?

Säg att jag har en .dll fil som heter tex. out.dll och den finns registrerad i datorn.

Nu vill jag nyttja de saker som out.dll innehåller. Hur får jag in det i ett vb.net projekt? Har letat lite på google men är nog inte riktigt med.
Har just nu VS2005 som verktyg. Har provat med att i projektet högerklicka och försöka referera till .dll filen men det går inte.

Medlem sedan dec. 19996 522 inlägg
#2

Assembly.LoadFile om det är .net. Är det com+ exempelvis använd interop (just google), men wrappa dem gärna runt en egen .net assembly och ladda sedan den.

Medlem sedan dec. 20014 239 inlägg
#3

Hur du något exempel du kan visa?

Är inte så haj på detta än..

Sedan vet jag inte om det är com+ eller vad är. Borde inte vara .net iaf.

Medlem sedan dec. 19996 522 inlägg
Medlem sedan dec. 20014 239 inlägg
#5

Får nog börja lära om till C# då :) (Hade jag tänkt börja lära mig iaf). Nybörjare som jag är verkar det vara väääldigt avancerat än så länge.

Men jag tackar för hjälpen..

Medlem sedan dec. 19996 522 inlägg
#6

Du kan ju lika väl göra det med vb.net, googla på vb.net dll interop så borde du hitta en hel del :) Men jag rekommenderar att du lär dig c#, rena och vackrare kod, och vissa skillnader från vb.net i unmanaged code

Medlem sedan dec. 19996 721 inlägg
#7

Om DLL:en är registrerad (dvs. COM) så kan du skapa en RCW (wrapper) automatiskt i Visual Studio, eller med tlbimp.exe om du saknar VS.

Medlem sedan dec. 19996 522 inlägg
#8

Kan inte det skapa onödigt stora assemblys, sen tar väll inte tlbimp och konverterar alla icke stödda datatyper till intptr, vilket inte gör det typsäkert

Medlem sedan dec. 19996 721 inlägg
#9

Assemblyns storlek är knappast något problem. Icke stödda datatyper är ett problem, det är riktigt, men det är ju inte säkert att man råkar på sådana (och ibland kan man komma åt problemet genom att modifiera RCW:n med ildasm/ilasm)

Medlem sedan dec. 19996 522 inlägg
#10

Du har en poäng som vanligt :)

Medlem sedan dec. 20014 239 inlägg
#11

Kort beskrivning...

emission skrev:

Om DLL:en är registrerad (dvs. COM) så kan du skapa en RCW (wrapper) automatiskt i Visual Studio, eller med tlbimp.exe om du saknar VS.

Det låter som om du gjort detta förr? Kanske kan jag få en lite kort beskrivning hur jag går till väga? Har VS2005 för övrigt.

Jag är som sagt nybörjare... :OO, Så på bäbis språk för mig :e

Medlem sedan dec. 19996 522 inlägg
264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)