Resumen Conversión de VB3 a VB6


-----Mensaje original-----
De: Alberto Butrico <opc@bipbip.com.uy>
Para: vb-esp@ccc.uba.ar <vb-esp@ccc.uba.ar>
Fecha: Martes 1 de Diciembre de 1998 7:04 PM
Asunto: (VB-ESP) Conversión de VB3 a VB6


>Alguien ha tenido que hacer esta locura?
>Es posible ?


Por completo, sí. Sólo debes tener cierto cuidado en algunos detalles:

1) Cambia las referencias a API de 16 bits a 32 bits.

2) Si utilizas VBX que no tengan un OCX como contraparte, no tendrás del
todo éxito en la conversión.

3) Si utilizas los controles Sheridan (de tercera dimensión, ya sabes),
debes instalar sus contrapartes en VB6 a partir del CD de VB5 (no recuerdo
que vengan incluidos en VB6, pero a lo mejor no he visto a profundidad el CD
de VB6). en el CD de VB5 se encuentran en el directorio Tools\Controls.

4) Las instrucciones de apertura de bases de datos, deberás cambiarlas a
objetos JET 3.5. Es decir, todo lo que eran antes funciones (como
OpenDatabase), deberás cambiarlas a los métodos correspondientes
(DBEngine.WorkSpaces(0).OpenDatabase).

5) Todas las declaraciones de constantes con nombre que cargabas a partir
del archivo CONSTANT.TXT en un módulo de código (BAS), debes encontrarles
sus contrapartes en VB6 dentro de las constantes intrínsecas (por ejemplo,
MB_ICONQUESTION cambia a vbQuestion) para aprovechar mejor los recursos del
sistema.

6) Recuerda que en un entorno de 32 bits, es más rápido el uso de variables
Long que Integer. En procesos de misión crítica, es recomendable que cambies
las variables Integer a Long para mejorar el desempeño (de manera sensible).

7) Verifica cuantos procedimientos contenidos en los módulos BAS pueden
instaurarse en clases, de manera que estructures mejor el código y
aproveches mejor los recursos.

8) Hay cosas que se pueden simplificar con el uso de With en el código de
VB3, dado que esta versión de VB no incluía esta instrucción.

9) Hay líneas que se pueden dividir con el carácter de continuación de línea
(_) de manera que estructures mejor los programas.

10) Verifica que los códigos en las consultas SQL se ejecuten adecuadamente.
Para esto, procura migrar las bases de datos de Access 1.1 o 2.0 hacia el
JET 3.5 de VB6.

11) Y si quieres meterte en serio a hacer adecuaciones, cambia todos los
objetos DAO por ADO, de manera que estructures la aplicación con la nueva
tecnología de acceso a datos. En este caso, los cambios podrían ser
mayúsculos, pero valdrían la pena.

12) Ten cuidado con los formularios que hayan sido almacenados en formato
binario. En algunos casos, VB6 podría no poder abrirlos y mostrar resultados
erróneos. Procura almacenar todos los formularios y módulos de la aplicación
de VB3 en modo texto.

13) Tendrás trabajo para adaptar las propiedades de los controles originales
que no soportaban la propiedad Appearance, de manera que la apariencia de la
aplicación resultante se ciña mejor a los desarrollos en Win32.

14) Verifica cuantos de los procedimientos pueden eliminarse para hacer uso
de las nuevas características de VB6, entre ellos, procedimientos y
funciones que ahora VB6 instaure de manera estándar. Estos últimos siempre
se ejecutarán más rápido que los propios.

15) Si la aplicación hace consultas a bases de datos ODBC, lo recomendable
es cambiar a RDO o, mucho mejor, a ADO. Con esto el desempeño en el manejo
de estas bases de datos mejorará de manera sensible.

16) Aunque no es del todo requerido, es recomendable que las declaraciones
hechas con la palabra clave Global las cambies a Public, así como las
declaraciones a nivel módulo hechas con Dim las cambies a Private. De esta
manera, asegurarás que tu código cumpla con los paradigmas de la
programación actual.

17) Verifica qué tanto del código puede hacerse más eficiente con el uso de
colecciones, clases y elementos acordes, de manera que tu aplicación sea más
fácil de instaurar.

18) Verifica qué tanto de tu código puede alterarse para aprovechar la
generación de controles en tiempo de ejecución sin el uso de matrices de
controles.

19) Cambia todos los tipos de datos de manera que los adaptes a su cometido
adecuado: por ejemplo, las variables de tipo Integer que sean utilizadas
para almacenarles valores de True o False, cámbialas a Boolean. De igual
forma, las variables declaradas como Double o Variant para almacenar fechas,
cámbialas a Date.

20) Verifica qué tanto del código puede cambiarse de manera que utilices lo
menos posible variables públicas. Intenta hacer uso de la capacidad de VB6
para agregar propiedades a formularios y clases para que cada variable se
encuentre debidamente encapsulada en su contexto.

21) Verifica si existe la posibilidad de utilizar Entornos de datos
(DataEnvironment) para, entonces, generar reportes mediante el Active
Reports, en lugar del Crystal Reports que fue incluido de facto en VB3
Profesional.

22) Si tu aplicación se vale de algún programa propio externo hecho en
Visual C++ 2.0 o anterior para ejecutar determinadas tareas de manera más
eficiente, considera el cambiar tal programa (que generalmente son
declaraciones de procedimientos encontrados en alguna DLL) a 32 bits, dado
que VB6 no podrá acceder a la funcionalidad de tales fuciones si el código
es de 16 bits. Por añadidura, el compilador de VB6 solo es un poco menos
rápido que el de VC++ 6, por lo que la sugerencia sería hacer tales procesos
directamente en VB6, con una pérdida de desempeño despreciable o
prácticamente nula.

Cierto es que el cambio de VB3 a VB6 no es un asunto del todo trivial si en
realidad quieres utilizar las características de este último. Los cambios
obligatorios son los que se indican de los puntos 1 al 4. Lo demás son
sugerencias de modo que puedas aprovechar en mejor medida las
características del compilador VB6 y el entorno de Win32. Espero que te sean
de utilidad.

+---¡Saludos desde México!--+
| .+'~~'+. |
| * Tron * David.BAS |
| `+,__,+' |
+---------------------------+
 http://spin.com.mx/~adgarza
     adgarza@spin.com.mx




Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com