DLL problemática [¡Ayuuudaa!]

03/03/2006 - 23:28 por Mauricio López [ProNet] | Informe spam
Amigos:

Tengo un gran problema: resulta que necesitamos utilizar una DLL
compilada, para VB6 con VB.Net. Esto no es problema ya que importamos la
referencia a COM y listo. El tema es que uno de los métodos de esta DLL
recibe por parámetro un Long que es la dirección de memoria de una
función con la siguiente sintaxis:

Obj.método (string, string, long) => Obj.método ("algo", "algo",
AddressOf unaFuncion)

Aquí, en VB6 el operador AddressOf devuelve justamente un Long
con la dirección de memoria de la función, pero en VB.Net no es así ya
que este mismo operador trabaja con Delegados y como el método se
encuentra en la DLL compilada no podemos agregar un Delegado a este
método.

¿Existe una función que devuelva la dirección de memoria de un
método en VB.Net 2005?

¿Cómo se les ocurre que pueda solucionarlo?

Desde ya agradezco muchísimo su ayuda ya que no podemos
continuar nuestro trabajo hasta no resolver este problema :-(((


Saludos!

Mauricio López
www.pronet.com.uy
Desarrollador 2 estrellas 2005
Maldonado - Uruguay

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
04/03/2006 - 05:01 | Informe spam
Usa System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate().

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 A.Poblacion
04/03/2006 - 09:37 | Informe spam
"Mauricio López [ProNet]" wrote in message
news:%
Amigos:

Tengo un gran problema: resulta que necesitamos utilizar una DLL
compilada, para VB6 con VB.Net. Esto no es problema ya que importamos la
referencia a COM y listo. El tema es que uno de los métodos de esta DLL
recibe por parámetro un Long que es la dirección de memoria de una
función con la siguiente sintaxis:

Obj.método (string, string, long) => Obj.método ("algo", "algo",
AddressOf unaFuncion)

Aquí, en VB6 el operador AddressOf devuelve justamente un Long
con la dirección de memoria de la función, pero en VB.Net no es así ya
que este mismo operador trabaja con Delegados y como el método se
encuentra en la DLL compilada no podemos agregar un Delegado a este
método.

¿Existe una función que devuelva la dirección de memoria de un
método en VB.Net 2005?

¿Cómo se les ocurre que pueda solucionarlo?



Mira este artículo de MSDN, que trae un ejemplo:

http://msdn.microsoft.com/library/d...ctions.asp
Respuesta Responder a este mensaje
#3 A.Poblacion
04/03/2006 - 11:57 | Informe spam
"A.Poblacion" wrote in
message news:%
¿Existe una función que devuelva la dirección de memoria de un
método en VB.Net 2005?



Mira este artículo de MSDN, que trae un ejemplo:

http://msdn.microsoft.com/library/d...ctions.asp




Err... Perdón, olvida lo dicho. Ese artículo es para P/Invoke, no para
COM Interop, asi que no te va a servir.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida