DLL

19/02/2005 - 15:39 por andres | Informe spam
Buenas, quiero usar una dll hecha por mi en visual
basic .net hecha por mi en visual basic 6.0, la estoy
declarando de la siguiente manera en .net:
Private Declare Ansi Function crypto Lib "Crypto.dll"
Alias "mia" (ByVal llave As String, ByVal datos As
String, ByVal funcion As Long, ByVal result As String) As
Long, cuando llega al punto que necesito usarla en el
programa me sale el siguiente error:
An unhandled exception of
type 'System.EntryPointNotFoundException' occurred in
EcoCapital.exe

Additional information: No se puede encontrar el punto de
entrada denominado mia en el archivo DLL Crypto.dll.
quisiera porque pasa eso y como puedo usar mi dll.
Gracias
 

Leer las respuestas

#1 A.Poblacion
19/02/2005 - 16:19 | Informe spam
"andres" wrote in message
news:027401c51690$c71a79f0$
Buenas, quiero usar una dll hecha por mi en visual
basic .net hecha por mi en visual basic 6.0, la estoy
declarando de la siguiente manera en .net:
Private Declare Ansi Function crypto Lib "Crypto.dll"
Alias "mia" (ByVal llave As String, ByVal datos As
String, ByVal funcion As Long, ByVal result As String) As
Long, cuando llega al punto que necesito usarla en el
programa me sale el siguiente error:
An unhandled exception of
type 'System.EntryPointNotFoundException' occurred in
EcoCapital.exe

Additional information: No se puede encontrar el punto de
entrada denominado mia en el archivo DLL Crypto.dll.
quisiera porque pasa eso y como puedo usar mi dll.



Las DLLs que genera el visual basic 6 son objetos COM, no son dlls como
las de sistema. Por lo tanto, no tienes que acceder a ella a través de
P/Invoke, como estás haciendo, sino a través de Com Interop.

En otras palabras, en lugar del Declare Function, lo que tienes que
hacer con el Visual Studio es ir al proyecto y en "referencias" decirle
"agregar referencia", y en la ventana que sale seleccionar la pestaña que
dice "COM", y desde ella buscar tu dll de VB6. Una vez hecho eso, la manejas
desde tu programa igual que si fuera nativa de .Net (haces un New de la
clase que haya en la dll y llamas a sus métodos).

Preguntas similares