Me gustaría llamar a un método que está escrito en Visual Basic 6.0 de C# (visual studio 2008). ¿Es posible? ¿Cómo lo haría?¿Cómo puedo llamar a un método Visual Basic 6.0 en C#?
Respuesta
La manera más fácil de hacerlo es simplemente compilar el código VB6 como una DLL ActiveX. Luego puede hacer referencia a la DLL en su proyecto .net. (Visual Studio puede referenciar ActiveX DLLs correctamente.)
Sí. Es posible. Lo llamas igual que llamas un método que se ha escrito en Visual Basic. Necesita una referencia al ensamblaje y luego solo lo llama con el espacio de nombre correcto.
VB6 no crear ensamblajes y no emite metadatos .NET. –
¿Estás seguro de que VB6.0 se puede usar de esta manera? –
@Saeed: Parece que la pregunta no era específica sobre la versión de VB originalmente. –
Es posible si y solo si el código VB6 se compila como un servidor COM.
¿Hay una opción en VB6 para compilarlo como servidor COM? No tenía VB6.0 pero creo que no es tan fácil hacerlo COM como crees. –
@Saeed: en realidad es bastante simple.Hay una casilla de verificación en las opciones del proyecto, luego debe asegurarse de que la función en cuestión sea un método en un módulo de clase, no en un módulo de código (y asegúrese de que el módulo de clase no sea privado). No puedo estar absolutamente seguro porque ha pasado mucho tiempo, pero creo que eso es todo lo que se necesita. –
¿Cómo se puede obtener el servidor COM para compilar el código de VB6 – ratty
.NET puede usar su DLL VB6 como cualquier DLL COM.
Simplemente haga clic en "Agregar referencia", luego elija la pestaña "COM" si su archivo DLL ya está registrado, o simplemente haga clic en la pestaña "Examinar" para seleccionar el archivo directamente.
Si es compatible con COM, Visual Studio creará automáticamente un conjunto de interoperabilidad COM que actuará como un contenedor .NET en su DLL VB6.
Deberá desplegar su dll VB6 y el conjunto Interop con su programa.
Compilar el archivo DLL de VB6 como DLL de ActiveX
Registro pulse -.> Regsvr32 "nombre completo y la ruta del archivo DLL VB6 recién compilado" (se utiliza el diálogo o Símbolo del sistema de registro)
En .net Agregue refrence - Seleccione la pestaña com y busque este dll recientemente registrado
Ahora puede usar este dll.
Nota:
Cada vez que hacemos cualquier cambio en el código de Visual Basic 6, que tiene que seguir los pasos anteriores de nuevo.
para anular el registro de DLL VB6 uso regsvr32 "Nombre y ruta"/u
bienvenida a (DLL) demonios
- 1. Multithreading en Visual Basic 6.0
- 2. Llamar a un Método Java desde Visual Basic 6
- 3. Visual Basic 6.0 Case Statement
- 4. Documentación del código de Visual Basic 6.0
- 5. Cómo hacer desarrollo y construir en Visual Basic 6.0
- 6. ¿Cómo puedo llamar a un método en Objective-C?
- 7. Ejemplo de MySQL para Visual Basic 6.0 - leer/escribir
- 8. ¿Casting en Visual Basic?
- 9. Cómo prohibir llamar a un método C#
- 10. Llamar a un método estático en C#
- 11. ¿Cómo puedo llamar a un método no estático desde un método estático en C#?
- 12. ¿Cómo puedo llamar a un método en un objeto nulo?
- 13. Cómo usar un mutex en Visual Basic
- 14. cómo llamar a un método ASP.NET C# usando javascript
- 15. Hex-Value en Visual Basic
- 16. ¿Cómo puedo repetir el alfabeto en Visual Basic?
- 17. C# Llamar a un método en un nuevo hilo
- 18. ¿Cómo llamar a un método en Java?
- 19. ¿Por qué las enumeraciones de TypeLib no están expuestas como enumeraciones en Visual Basic 6.0?
- 20. ¿Cómo puedo llamar a un método dado solo su nombre?
- 21. visual basic y vb.net
- 22. ¿Cómo llamar a un método de C# solo si existe?
- 23. ¿Cuál es el orden de precedencia del operador en Visual Basic 6.0?
- 24. Redondeo de un número en Visual Basic
- 25. Visual Lisp: cómo llamar a funciones en DLL C++ externo
- 26. Equivalente de E y O de Visual Basic en C#?
- 27. Llamar a un método obj-c con un parámetro
- 28. Llamar a un método NSTimer
- 29. ¿Cómo llamar a un método COM complejo de PowerShell?
- 30. En javascript, ¿cómo puedo llamar a un método de prototipo en otro método prototipo?
+1. Las instrucciones paso a paso sobre cómo crear una DLL ActiveX en VB6 son [aquí] (http://stackoverflow.com/questions/3477265/com-dll-in-vb6/3477344#3477344) y hay un [buen tutorial en el Manual VB6] (http://msdn.microsoft.com/en-us/library/aa229332%28v=VS.60%29.aspx). A continuación, simplemente haga referencia a la DLL ActiveX de VB6 en su proyecto de C#: aparecerá en la pestaña COM del cuadro de diálogo Agregar referencia. – MarkJ