Uilizzo in VB.net di una dll sviluppata in C

giovedì 09 giugno 2005 - 19.01

edy Profilo | Newbie

Ciao a tutti!
Ho creato una dll in C++ con VisualStudio.Net; vorrei poterla utilizzare con VB.net ma mi ritornano messaggi di errore tipo: “Impossibile aggiungere un riferimento a “C:\.. Array.dll. L’elemento specificato non è un assembly .NET” quando vado ad aggiunger un riferimento, oppure “Eccezione non gestita di tipo System.NotSupportedException” in SmartApp.exe” quando avvio il debug. Premetto che la stessa dll funziona benissimo chiamandola da VisualBasic6.

La funzione è definita in questo modo nella dll:
extern "C" __declspec (dllexport) long __stdcall SumArray(short *Array,long Elementi)

La funzione é dichiarata in questo modo (a livello di modulo sia in VB.net che in VB6):
Public Declare Function SumArray Lib "C:\… Array.dll" Alias "_SumArray@8" (ByRef PuntaArray As Integer, ByVal Elementi As Long) As Long.
Ringrazio chi mi vorrà aiutare.

Cteniza Profilo | Guru

Allora non si tratta di una dll .NET.
Devi utilizzare la sintassi classica per interfacciarti con un oggetto COM (esempio):

<DllImport("User32.dll")> _
Protected Shared Function SetWindowPos(ByVal hwnd As Integer, _
ByVal hWndInsertAfter As Integer, ByVal x As Integer, _
ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, _
ByVal wFlags As Integer) As Integer
End Function

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5