elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Usar dll de .net en vb6, intenté regasm y no queda del todo
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Usar dll de .net en vb6, intenté regasm y no queda del todo  (Leído 998 veces)
Fucko

Desconectado Desconectado

Mensajes: 217


Fucko the Clown Rules!!!


Ver Perfil WWW
Usar dll de .net en vb6, intenté regasm y no queda del todo
« en: 25 Febrero 2021, 06:21 am »

Hola, tengo unas dll en .net algunas framework 2.x y otras 4.x

el asunto es, que hasta ahora, la 2.x quedó con el regasm, sin, problemas, he creado la tlb y al estar en el explorador de objetos, aparece la dll con sus clases.

no me pasa con la que está hecha en 4.7.2

se que el regasm es otro para hacerlo, no hay problemas por eso, la tlb la pude crear, pero me aparece vaciom sin clases....

que puede ser?

pongamos como ejemplo:

Código:
Private Sub cmd_leer_Click()
    dll2x.leer
End Sub

comando usado para 2x

Código:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /tlb:dll2x.tlb dll2x.dll

para 4x
Código:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /tlb:dll4x.tlb dll4x.dll

mientras voy codificando, al poner dll2x y poner el "." ya me aparece lo que necesito, por ejemplo "leer"

pero al hacer en la de 4.x nada....

no aparece nada de nada....

que puede ser?
gracias


En línea

Cree en los que buscan la verdad, duda de los que la han encontrado...
Fucko

Desconectado Desconectado

Mensajes: 217


Fucko the Clown Rules!!!


Ver Perfil WWW
Re: Usar dll de .net en vb6, intenté regasm y no queda del todo
« Respuesta #1 en: 8 Marzo 2021, 19:36 pm »

A nadie le ha pasado? :P
no puedo hacer funcionar las dll .net en el vb6



En línea

Cree en los que buscan la verdad, duda de los que la han encontrado...
Fucko

Desconectado Desconectado

Mensajes: 217


Fucko the Clown Rules!!!


Ver Perfil WWW
Re: Usar dll de .net en vb6, intenté regasm y no queda del todo
« Respuesta #2 en: 30 Abril 2021, 00:46 am »

Es imposible usar las dll .net en vb6?

he visto gente que las ha usado, pero no tengo idea como....
En línea

Cree en los que buscan la verdad, duda de los que la han encontrado...
Danielㅤ


Desconectado Desconectado

Mensajes: 902


🔵🔵🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: Usar dll de .net en vb6, intenté regasm y no queda del todo
« Respuesta #3 en: 30 Abril 2021, 01:05 am »

Hola, probablemente ésto te pueda ayudar, lee todo con atención:

https://www.jasoft.org/Blog/post/como-exponer-una-dll-de-net-para-usarla-con-visual-basic-vbscript-y-asp-clasico

https://devattitude.wordpress.com/2014/03/23/creando-una-dll-en-net-para-visual-basic-6/

http://davidcruz127.blogspot.com/2013/07/usar-dll-creada-en-net-en-visual-basic-6.html

https://social.msdn.microsoft.com/Forums/es-ES/c0e7aebc-bd98-4272-95a8-63cba96a9def/c-llamar-a-dll-vb6-com-desde-net?forum=vcses

https://microsoft.public.es.dotnet.vb.narkive.com/cbW3jPSm/utilizar-dll-de-vb-net-en-vb6


Saludos
En línea

¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 2.865


Ver Perfil
Re: Usar dll de .net en vb6, intenté regasm y no queda del todo
« Respuesta #4 en: 30 Abril 2021, 02:15 am »

Claro que las puedes usar... pero no directamente, porque la convención de llamada s de NET es distinta de la convención de llamadas de vb6.

...tienes que crear un wrapper de las funciones que requieres...
1- Debe ser una proyecto de biblioteca de clases.
2 - al añadir el proyecto, ve a a las propiedades del mismo (doble click en 'myproject' en el explorador de soluciones).
3 - Ve a la pestaña 'Aplicación, pulsa el botón información de ensamblado... debajo del GUID, activa la casilla 'Crear ensamblado visible a través de COM'.
4 - En la ficha 'compilar', abajo dle todo, activa la caislla: Registras para interoperabilidad COM'.
5 - Elimina las clases que tenga el proyecto y añade una nueva clase, pero de tipo 'COM Class', esto generará los GUID, para que pueda ser accedido por VB6... (mira la imagen que adjunto). Es decir, vb6 solo verá la funcionalidad de estas clases, puedes tener otras clases si las necesitas, pero serán de NET al 100, y por supuesto puedes usarlas desde esa 'COM Class'... peor para vb6 serán invisibles e inaccesibles. La funcionalidad que quieras acceder tendrá que estar disponible en las 'COM Class' del proyecto.

No puedes usar todo lo que quieras... en las funciones publicas, en las funciones privadas, puedes usar parámetros de NET...
Estos es, los GUID y la clase NEW sin parámetros.
Los constructores con parámetros, son ignorados y las funciones sobrecargadas son renombradas con sufijos numerados. Por ejemplo: Sean 2 funciones llamadas FunX(byval Y as string) y FunX(byval Y as byte)
La 1ª se sigue llamando igual "FunX", la 2ª se renombra como: "FunX_1", es decir esto es lo que se verá por ejemplo desde VB6.0
Así al compilar permite que puedan ser reconocidos por otras plataformas que usan COM.
Explicar cada vericueto es largo y lleva bastante tiempo, lo mejor es que explores por tí mismo...
Una vez que termines el wrapper, compila tu clase/s... y tendrás que registrarla como una clase de NET, pero gracias a los GUID, VB6 ya podrá 'verla' y usarla.

Los errores que cometas en parámetros a llamadas, supondrá volver al código en NET, solucionar el problema, volver a compilar y registrar... y volver a instanciar desde vb6.

« Última modificación: 30 Abril 2021, 02:20 am por Serapis » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[PROBLEMA]No me deja instalar XP SP3 ,(intente con varias versiones) « 1 2 »
Windows
NachCrach 13 6,789 Último mensaje 6 Marzo 2011, 14:07 pm
por TitoTor
YouTube queda fuera de servicio temporalmente en todo el mundo
Noticias
wolfbcn 0 537 Último mensaje 22 Junio 2016, 14:38 pm
por wolfbcn
[Todo congelado/Intenté de todo] Mi PC deja de alimentar a los componentes. « 1 2 3 »
Hardware
GGZ 24 7,975 Último mensaje 11 Junio 2017, 20:29 pm
por GGZ
[C++] Programa queda congelado al usar destructor
Programación C/C++
huchoko 2 686 Último mensaje 17 Noviembre 2018, 23:26 pm
por K-YreX
Todo lo que debes saber sobre las VPN antes de usar una
Noticias
wolfbcn 0 334 Último mensaje 1 Noviembre 2019, 14:15 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines