es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estamos intentando migrar un programa VB5 (50k líneas) a VB6 y nos encontramos con múltiples errores.

Estamos intentando migrar un programa de VB5 (50k líneas) a VB6.

Cuando cargamos el programa en VB5, obtenemos el error de Threed no encontrado, por lo que ejecutamos RegSvr32 en todos nuestros OCX y ahora se cargan correctamente.

Cuando hacemos un Make, nos encontramos con los errores pnlcolor no encontrado, pnlstatus no encontrado, etc. Muchos de los errores se refieren a miembros faltantes de un ActiveX (Threed).

Nota: Este código funciona en una máquina virtual que creamos hace años. Y se ejecuta sin errores en la máquina virtual (XP) hasta el día de hoy, pero no podemos cargar nuevas DLL en la máquina virtual (XP) ni ejecutar el depurador, lo cual dificulta realmente el desarrollo. Estoy cansado de usar MSGBOX para depurar el código.
Estamos tratando de sacar el código de la máquina virtual (XP) y ejecutarlo en Windows 10 o Windows 7.

Aquí es donde encontramos los problemas. Cualquier ayuda o sugerencia, aparte de una reescritura completa, sería apreciada. Tenemos que enviar el producto y comenzaremos a reescribir en un futuro cercano.

Actualización: Cuando obtengo “Controles Sheridan 3D” para mostrar en Componentes y marco la casilla de verificación de control, muestra “Conflicto de nombres con módulo, proyecto o biblioteca de objetos existentes”.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en la migración de VB6 y máquinas virtuales, sugiero los siguientes pasos para abordar el problema de migrar un programa VB5 con errores de archivos Threed no encontrados:

    1. En primer lugar, asegúrese de registrar todos los archivos OCX necesarios utilizando RegSvr32.

    2. Verifique si el control ActiveX Threed está instalado y registrado en la máquina de destino. Si no lo está, instálelo y regístrelo.

    3. Si el control Threed está instalado y registrado, pero aún faltan miembros, verifique si existen problemas de compatibilidad entre el control Threed y VB6. Es posible que algunos miembros de Threed no sean compatibles con VB6 y deban ser reemplazados con código equivalente.

    4. Si el control Threed está causando conflictos con otros módulos, proyectos o bibliotecas de objetos, intente cambiar los nombres en conflicto o eliminar referencias redundantes.

    5. Si los pasos anteriores no resuelven el problema, considere ejecutar el código en una máquina virtual con un entorno XP, lo cual se ha comprobado que funciona. Sin embargo, si existen limitaciones para ejecutar el depurador y cargar nuevas DLL en la máquina virtual, considere soluciones alternativas como la virtualización o la contenerización para crear un entorno moderno y aislado que pueda admitir el código.

    6. Como solución a largo plazo, considere reescribir el código utilizando tecnologías más modernas y evitando dependencias en controles obsoletos como Threed. Sin embargo, si no es factible reescribirlo a corto plazo, enfoque en entregar el producto abordando primero los problemas más críticos y comunicándose abiertamente con las partes interesadas sobre los desafíos y riesgos involucrados.

Comments are closed.