Preparar una aplicación de Visual Basic 6.0 para la actualización

Actualización: noviembre 2007

Aunque el proceso de actualizar una aplicación de Visual Basic 6.0 a Visual Basic 2008 es en su mayor parte automático, hay varias medidas que se pueden tomar para optimizar la actualización con un poco de preparación.

Si sigue las recomendaciones de este tema, podrá minimizar y, en algunos casos, eliminar los cambios necesarios tras la actualización del proyecto a Visual Basic 2008. En la mayor parte de los casos, las recomendaciones representan simplemente prácticas adecuadas de programación; no obstante, algunas también identifican cuáles son los objetos y métodos que no tienen equivalentes y que deben utilizarse lo menos posible si se piensa actualizar el proyecto a Visual Basic 2008.

Recomendaciones generales

Puede parecer obvio, pero, si el proyecto no se compila ni se ejecuta en Visual Basic 6.0, no se actualizará correctamente. Es recomendable instalar Visual Basic 6.0 en el equipo que se utilizará para la actualización. Además de permitirle probar la aplicación, garantizará que todos los controles, componentes y bibliotecas de tipos necesarios se encuentren disponibles durante la actualización.

Visual Basic 2008 permite actualizar proyectos de Visual Basic 6.0; si tiene un proyecto escrito en Visual Basic versión 1 a 5, se recomienda cargarlo primero en Visual Basic 6.0 (con la opción de actualización de controles Microsoft ActiveX), compilarlo y guardarlo antes de actualizarlo a Visual Basic 2008.

Consideraciones sobre formularios y controles

Visual Basic 2008 tiene un nuevo paquete: formularios Windows Forms. Los formularios Windows Forms son ampliamente compatibles con el paquete de formularios de Visual Basic 6.0; no obstante, existen algunas diferencias importantes, que se indican a continuación:

  • Visual Basic 2008 no admite el control contenedor OLE; debe evitar el uso de este control en las aplicaciones de Visual Basic 6.0.

  • No hay ningún control de forma en Visual Basic 2008. Las formas cuadradas y rectangulares se actualizan a etiquetas; los óvalos y círculos no se pueden actualizar. Es recomendable evitar utilizarlos en las aplicaciones.

  • No hay ningún control de línea en Visual Basic 2008. Las líneas horizontales y verticales se actualizan a etiquetas. Las líneas diagonales no se actualizan; por tanto, es recomendable evitar utilizarlas.

  • Visual Basic 2008 tiene un nuevo conjunto de comandos de gráficos que reemplazan a los métodos FormCircle, CLS, PSet, Line y Point. Dado que el nuevo modelo de objetos es muy diferente del de Visual Basic 6.0, estos métodos no se pueden actualizar.

  • En el caso del control Timer, al establecer la propiedad Interval en 0 no se deshabilita el temporizador (timer); en su lugar, se restablece el intervalo a 1. En los proyectos de Visual Basic 6.0, debe definir Enabled como False en lugar de establecer Interval en 0.

  • Visual Basic 2008 tiene dos controles de menú, MenuStrip y ContextMenuStrip, mientras que Visual Basic 6.0 tiene un control de menú que se puede abrir como control MainMenu o ContextMenu. Todos los controles de menú se actualizan a un solo componente MenuStrip que contiene objetos MenuItem para cada control del menú; tendrá que volver a crear los menús contextuales y eliminar los controles MenuStrip adicionales.

  • Visual Basic 2008 no admite el intercambio dinámico de datos (DDE).

  • Visual Basic 2008 no admite el método Form.PrintForm.

  • Aunque Visual Basic 2008 admite la funcionalidad de arrastrar y colocar, el modelo de objetos es diferente del que se utiliza en Visual Basic 6.0. En consecuencia, no es posible actualizar las propiedades y métodos de arrastrar y colocar de Visual Basic 6.0.

  • Visual Basic 2008 tiene un objeto Clipboard mejorado (My.Computer.Clipboard) que proporciona mayor funcionalidad y admite más formatos del Portapapeles que el objeto Clipboard de Visual Basic 6.0. Sin embargo, debido a las diferencias entre los modelos de objetos, las instrucciones de Portapapeles no se pueden actualizar automáticamente.

  • Visual Basic 2008 no admite la propiedad Name para formularios y controles en tiempo de ejecución; por lo tanto, no debe escribir código que recorra en iteración la colección Controls en busca de un control con un nombre determinado. (Esta funcionalidad ahora está disponible mediante las clases System.Reflection de .NET Framework.)

Recomendaciones sobre datos

Visual Basic 2008 presenta una versión mejorada de ADO, denominada ADO.NET, que se ha optimizado para trabajar con datos de aplicaciones distribuidas y proporciona mejoras de rendimiento en ADO cuando se utiliza en aplicaciones distribuidas.

RDO y ADO todavía se pueden utilizar en código de Visual Basic 2008, con pequeñas modificaciones. Sin embargo, Visual Basic 2008 no admite el enlace de datos DAO y RDO a controles, controles de datos o conexiones de usuarios RDO. Si sus aplicaciones contienen enlaces de datos DAO o RDO, se recomienda que las deje en Visual Basic 6.0 o que actualice los enlaces de datos DAO o RDO a ADO antes de actualizar el proyecto a Visual Basic 2008, ya que el enlace de datos ADO es compatible con formularios Windows Forms. En la Ayuda de Visual Basic 6.0 encontrará información sobre cómo actualizar DAO o RDO a ADO en Visual Basic 6.0.

Recomendaciones sobre la arquitectura Web

Visual Basic 2008 presenta ASP.NET, una versión mejorada de ASP, y completa la arquitectura con formularios Web Forms, una tecnología para crear páginas web con un modelo de eventos similar al de Visual Basic. Se trata de una arquitectura basada en servidor.

Las aplicaciones basadas en Web que cumplan los criterios siguientes serán las más fáciles de actualizar:

  • Siga las directrices de Microsoft sobre arquitectura de varios niveles.

  • Utilice páginas Active Server.

  • Utilice objetos COM de Visual Basic 6.0 o Visual C++ 6.0 para la lógica empresarial.

ASP es totalmente compatible con Visual Basic 2008 y puede continuar extendiendo la aplicación por medio de ASP, ASP.NET y formularios Web Forms. Los objetos comerciales de Visual Basic 6.0 y Visual C++ 6.0 pueden utilizarse sin modificaciones o actualizarse a Visual Basic 2008.

En Visual Basic 2008 ya no existen las clases web. Las aplicaciones de clases web existentes pueden interactuar con formularios Web Forms y aplicaciones ASP de Visual Basic 2008; o bien, se pueden actualizar a aplicaciones de formularios Web Forms.

Vea también

Conceptos

Consideraciones previas a la actualización

Por qué es necesaria la actualización

Otros recursos

Actualizar aplicaciones creadas en versiones anteriores de Visual Basic

Recomendaciones del lenguaje para la actualización