Allora, qui bisogna fare un distinguo:
-se stiamo parlando di dll native COM (volgarmente dette ActiveX) allora devi aggiungere la dll in questione ai riferimenti;
-altrimenti devi usare Declare per ogni funzione esportata dalla libreria nativa che vuoi usare (esattamente come nel caso delle API); ammettendo che la tua libreria si chiami pippo.dll ed esporti la funzione yukyuk così dichiarata in una dll C++:
codice:
int __declspec(dllexport) __stdcall yukyuk(int, double, char *);
allora in VB dovrai inserire
codice:
Public Declare Function yukyuk Alias "aliasfunzione" (X As Integer, Y As Double, Z As String) As Integer
L'alias da inserire in "aliasfunzione" dipende da molti fattori, tra cui se compili la dll con un compilatore C o C++ e se premetti alla definizione della funzione un "extern"; il modo più rapido per conoscere l'alias è guardare i nomi delle funzioni esportate dalla tua dll con il Dependency Walker. Puoi evitare di inserire l'alias disattivando la "decorazione" dei nomi delle funzioni esportati nel tuo compilatore, cosa generalmente non possibile, o inserendo nel progetto della dll un file .DEF con cui definire i nomi con cui esporterai le funzioni.