PDA

View Full Version : Usare dll c++ con visual basic


Sethrian
18-05-2010, 19:07
Ciao a tutti ragazzi! ho un problema.. praticamente sto facendop un programma che ha una iterfaccia in visual basic e il codice scritto in c++ con la dll..

ora il problema è che mi carica la dll ma non trova l'entry point della funzione..

queste sono le funzioni dichiarate nel form del vb
Public Declare Function StartAnalisi Lib "EstrattoreDll.DLL" (ByVal file As String, ByVal agenzia As String) As Integer


Public Declare Function trovalink Lib "EstrattoreDll.DLL" (ByVal tipo As String, ByVal nomefile As String) As Long

queste sono quelle dicharate nel .h della dll


__declspec (dllexport) int __stdcall StartAnalisi(char *file,char *agenzia);

perchè non funziona?

questo è l'errore riscontroato


Unable to find an entry point named 'StartAnalisi' in DLL 'EstrattoreDll.DLL'.

aspetto con ansia consigli!^^

fero86
18-05-2010, 19:37
non me ne intendo di Visual Basic (a parte il fatto che non hai specificato la versione) ma probabilmente il nome della funzione esportata é mangled. se quella funzione non ha overload dichiarala con extern "C", in maniera tale che ne venga esportato il nome demangled:
extern "C" __declspec (dllexport) int __stdcall StartAnalisi(char *file,char *agenzia);

Sethrian
18-05-2010, 19:58
ciao grazie della risposta! ho corretto la dll come hai detto tu

extern "C" __declspec (dllexport) int __stdcall StartAnalisi(char *file,char *agenzia)

ma non ha funzionato ugaule :( !

sto usando visual studio 2010 per il progetto!