2010-11-30 14 views

Respuesta

11

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.)

+2

+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

2

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.

+1

VB6 no crear ensamblajes y no emite metadatos .NET. –

+0

¿Estás seguro de que VB6.0 se puede usar de esta manera? –

+0

@Saeed: Parece que la pregunta no era específica sobre la versión de VB originalmente. –

2

Es posible si y solo si el código VB6 se compila como un servidor COM.

+0

¿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. –

+0

@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. –

+0

¿Cómo se puede obtener el servidor COM para compilar el código de VB6 – ratty

2

.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.

6
  1. Compilar el archivo DLL de VB6 como DLL de ActiveX

  2. 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)

  3. En .net Agregue refrence - Seleccione la pestaña com y busque este dll recientemente registrado

  4. 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

Cuestiones relacionadas