De trabajando en la conversión de mi aplicación CAD/CAM empresa. No recomiendo ir de abajo hacia arriba, es decir, reemplazar el núcleo DLL o agregar la funcionalidad principal a través de .NET.
Obtuve mejores resultados trabajando de arriba hacia abajo comenzando por reemplazar formularios y trabajando hasta llegar al DLL principal.
El mayor obstáculo fue proporcionar una impresora adecuada e interfaz gráfica. Pero el lanzamiento de Microsoft de un Kit de compatibilidad de la impresora resolvió ambos problemas. Afortunadamente, cuando .NET no era más que un rayo en el horizonte, coloqué todas las llamadas gráficas e impresión céntricas de VB6 detrás de una interfaz.
De nuevo, empiece reemplazando el formato con un ensamblado .NET llamando a las bibliotecas centrales de COMM.
Si su lógica está entrelazada con los formularios, recomiendo separarla en una nueva DLL COM EN VISUAL BASIC SIX. Haga que la nueva DLL interactúe con el Formulario a través de una interfaz. El formulario será un shell delgado pasando eventos a la DLL y ejecutando varias operaciones (dibujo, reordenación, etc.
Si no puede evitar el uso del ensamblado .NET para proporcionar una nueva funcionalidad, cree una serie de y interfaces limitadas para controlar la interacción entre el lado .NET y el lado VB6/COM.
Por ejemplo, queríamos agregar software de administración de trabajos/oficina para nuestra industria a la gama de software que vendemos. el framework .NET.Tuvo que interactuar con nuestro software CAD/CAM y, por lo tanto, creamos una serie de interfaces donde cada uno puede extraer la información necesaria o disparar una acción entre sí.
Finalmente, si las clases de .NET implementan las interfaces COM, lo importante es que debe asegurarse de que los parámetros que son parte de las propiedades en COM deben declararse ByVal o .NET no podrá implementar la propiedad y fallará. para implementar la interfaz. Esto incluye el parámetro de valor de una decepción o Set
Haga clic abajo para ver todo lo que desee, pero el uso de .NET colecciones, etc. como rutina de VB6 * realmente * no es una buena idea. –