Traducido por: Ana María Bisbé York
Fragmento de la sesión VFP Tips and Tricks presentada por el autor en la Conferencia DevEssentials Kansas, 2004Existen ventajas y desventajas para crear/guardar formularios VFP en .SCXs o .VCXs. He aquí algunas de ellas:
Formularios basados en VCX: VENTAJAS
- Fácilmente subclaseable
- Muchos formularios pueden estar contenidos en un fichero VCX/.VCT (desventaja para desarrollo en grupos)
- Posibilidad de utilizar propiedades y métodos protegidos (Protected) y ocultos (Hidden)
- Puede sustituir una subclase DataEnvironment definida por el usuario (programa .PRG) en tiempo de ejecución.
- Control completo sobre la apertura de tablas/vistas
- No puede utilizar DataEnvironment visual nativo
- Como no puede utilizar DataEnvironment visual nativo, debe llenar manualmente las propiedades ControlSources y RecordSources
- Más dificultad para ejecutar/probar, son necesarios 2 ó 3 comandos
- No existe una vía directa para devolver un valor de un formulario modal
- No tiene disponible el Asistente de formulario (de todas formas no recomendamos utilizar asistentes nativos...)
- Si varios formularios están contenidos en una librería .VCX/.VCT, el desarrollo en equipo se hace más difícil, debido a que es más complicado que más de un desarrollador trabajen con formularios diferentes guardados en el mismo archivo .VCX
- Puede utilizar DataEnvironment visual nativo
- Si se utiliza DataEnvironment, puede llenar ControlSources y RecordSources a través de los cuadros desplegables
- Es fácil de ejecutar/probar, con un comando o con la opción Ejecutar en la barra de herramientas estándar.
- Una vía simple, directa para devolver un valor de un formulario modal.
- Puede sustituir una subclase DataEnvironment definida por el usuario (programa .PRG) en tiempo de ejecución.
- Tiene disponible el Asistente de formulario (de todas formas no recomendamos utilizar asistentes nativos...)
- El desarrollo en equipo es menos problemático porque cada formulario está siempre guardado en su propio archivo .SCX/.SCT
- Un poco más difíciles de subclasear; la intención es utilizarlo en el nivel instanciado.
- Sólo un formulario por archivo .SCX/.SCT (muchos archivos individuales), pero puede ser una ventaja en el desarrollo de proyectos en equipo (vea arriba)
- No se pueden utilizar propiedades y métodos protegidos (Protected) y ocultos (Hidden)
- No existe control real sobre la apertura de tablas/vistas en el DataEnvironment (aunque, si lo desea, lo puede realizar en el Form.Load(); pero perderá los beneficios de utilizar un DataEnvironment nativo, mientras tiene otros ventajas de formularios basados en SCX)
- Crea un formulario basado en .SCX
- Agregue cursores al DataEnvironment – estos cursores nunca serán abiertos en tiempo de ejecución, así sean tablas/vistas cuando estás utilizando objetos de negocio o DataEnvironment de usuario.
- Establecer la propiedad DataEnvironment.AutoCloseTables a .F.
- Establecer la propiedad DataEnvironment.AutoOpenTables a .F.
- Establecer manualmente el entorno de datos:
- Agregar código manual en el Form.Load()
- Agregar código en el Form.Load() para el lazo entre el DataEnvironment (ignorado en tiempo de ejecución) y ejecutar el código equivalente al objeto Cursor y sus propiedades en los objetos Relation.
- Implementar su objeto DataEnvironment sustituto/de usuario
- Liberar el control de los datos a su objeto de negocio
Espero que les haya resultado de utilidad.
Saludos,
Ana María Bisbé York
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.