Objeto

Un objeto es un elemento definible dentro de un proyecto que, en tiempo de ejecución, realiza las tareas de un programa. Los objetos nos permiten definir la base de datos, operar con ésta y definir el interfaz de nuestra aplicación. Estos objetos son creados de forma visual y únicamente tendremos que definir sus propiedades.

Para desarrollar todas estas funcionalidades los objetos pueden interactuar unos con otros.

Las funcionalidades de los objetos están definidas por el tipo de objeto y en ejecución se realizan en función de las propiedades definidas en cada objeto. Por ejemplo, un objeto de tipo rejilla muestra listas de registros, uno de tipo formulario servirá para editar, uno de tipo tabla define una relación de datos, es decir, una estructura de datos, etc.

Un objeto, además, puede ser un elemento único, por ejemplo, un dibujo, o estar a su vez compuesto por sub-objetos, por ejemplo, un objeto tabla de datos está compuesta por sub-objetos de tipo campo, índice, etc.

Los objetos podrían clasificarse según el tipo de proyecto donde pueden ser creados. Así tendríamos:

Objetos de proyecto de datos. Los objetos nos permiten definir la base de datos, operar con ésta y definir el interfaz de nuestra aplicación. Estos objetos son creados de forma visual y únicamente tendremos que definir sus propiedades.

Objetos de proyecto de aplicación. Se trata de objetos relacionados con la interfaz.

Además, hay objetos que pueden residir tanto en un proyecto de datos como en un proyecto de aplicación.

Para desarrollar todas estas funcionalidades los objetos pueden interactuar unos con otros.

Las funcionalidades de los objetos están definidas por el tipo de objeto y en ejecución se realizan en función de las propiedades definidas en cada objeto. Por ejemplo, un objeto de tipo rejilla muestra listas de registros, uno de tipo formulario servirá para editar, uno de tipo tabla define una relación de datos, es decir, una estructura de datos, etc.

Un objeto, además, puede ser un elemento único, por ejemplo, un dibujo, o estar a su vez compuesto por sub-objetos, por ejemplo, un objeto tabla de datos está compuesta por sub-objetos de tipo campo, índice, etc.

Otro concepto importante referente a los objetos es que éstos pueden tener una entrada y/o una salida. Las entradas y salidas posibles son, o bien ninguna, o bien una ficha o una lista de una tabla.

Las propiedades principales comunes a todos los objetos y subobjetos son:

Identificador

Etiqueta alfanumérica que identifica de forma unívoca un objeto de un tipo de objeto o un subobjeto dentro de un objeto. Este identificador será el que usemos para referenciarlo en otras propiedades y en fórmulas.

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto o un subobjeto de un objeto no puede haber duplicidad. Puede haber objetos de distinto tipo con el mismo identificador, pero nunca objetos del mismo tipo con el mismo identificador. Así mismo, puede haber subobjetos con el mismo identificador pero de objetos distintos.

Cuando estamos editando un proyecto que es heredado por otros proyectos, si modificamos el identificador de un objeto el sistema debe actualizarlo en todos los proyectos en los que dicho objeto es usado; esto implica que debe abrir todos los proyectos heredados para modificarlo y guardarlos. En el caso de que uno de esos proyectos esté siendo editado por otro usuario, el sistema nos advertirá que dicho proyecto no ha podido ser modificado.

Esto quiere decir que no ha podido actualizar en aquel proyecto el identificador del objeto modificado; por lo que es recomendable que deshagamos ese cambio de identificador y lo hagamos cuando los proyectos que hereden el actual no estén siendo editados por otros usuarios.

Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto o subobjeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en el proyecto.

Estilos

Podemos definir los estilos privado, que limita el acceso del usuario final a cierta información sobre ese objeto o subobjeto y heredable, que permite que el objeto o subobjeto sea usado cuando el proyecto sea heredado.

Comentarios

Esta propiedad nos permite documentar el uso del objeto o subobjeto en nuestro proyecto.

En aquellas propiedades en las que el contenido sea un objeto, podremos editar éste usando el menú de contexto. Para ello, no tendremos más que situar el puntero del ratón sobre el objeto seleccionando en la propiedad, pulsar el botón derecho del ratón y, en el menú de contexto que se abre, seleccionar la opción editar objeto de la propiedad.

Galería de objetos

Se trata de una funcionalidad de Velneo vDevelop que nos permite añadir objetos a nuestros proyectos. Para abrir la galería ejecutaremos la opción galería de objetos del menú objetos de Velneo vDevelop.

Los objetos disponibles en la galería variarán en función de si estamos editando un proyecto de datos o un proyecto de aplicación, ya que hay objetos específicos de datos, otros específicos de aplicación y otros comunes a ambos.

Mover objeto

Es posible mover un objeto del proyecto en curso a un proyecto heredado. Podremos mover tanto objetos de proyecto de datos como de proyecto de aplicación.

Para ello seleccionaremos el objeto a mover o bien en el explorador de proyectos o bien en el panel del proyecto y ejecutaremos la opción mover de proyecto del menú objetos de Velneo vDevelop.

Una vez hecho esto el sistema pedirá que seleccionemos el proyecto al que queremos mover el objeto seleccionado, solamente nos dará opción a elegir entre los proyectos heredados por el proyecto en curso que sean del mismo tipo, es decir, si se trata de un objeto de proyecto de datos nos mostrará la lista de proyectos de datos heredados y si se trata de un objeto de proyecto de aplicación lo que nos mostrará será la lista de proyectos de aplicación heredados.

Seleccionaremos el proyecto deseado y pulsaremos el botón aceptar para continuar o el botón cancelar para abortar la operación.

El siguiente paso será seleccionar la carpeta del proyecto de destino en el que se desea incluir el objeto.

Seleccionaremos el proyecto deseado y pulsaremos el botón aceptar para continuar o el botón cancelar para abortar la operación.

Si aceptamos, el objeto habrá sido movido al proyecto de destino y quitado del proyecto en curso.

Si el objeto seleccionado usa a su vez otros objetos, esta operación moverá, además del objeto seleccionado, los objetos que éste use. Por ejemplo, si movemos una rejilla y ésta usa un formulario en su propiedad Formulario de alta, el sistema moverá tanto la rejilla como el formulario al proyecto de destino. Si movemos un marco que usa un menú que usa acciones que hacen uso a su vez de otros objetos, todos ellos serán movidos al proyecto de destino.

Copiado y pegado de objetos

Velneo incorpora un potente sistema de refactorización que nos permitirá desarrollar más rápidamente mediante la técnica del copiado y pegado de objetos, tanto dentro de un mismo proyecto como entre proyectos distintos. Estos comandos los encontraremos dentro del menú edición de Velneo vDevelop.

Comando “pegar” (ctrl + V)

Cuando dentro de un proyecto copiamos un grupo de objetos que están relacionados entre sí, al pegarlos, los nuevos objetos generados no quedarán relacionados a los originales, sino a las copias generadas de los mismos. Lo explicaremos con un ejemplo:

Supongamos que tenemos declarada una acción llamada ACCION que dispara un proceso llamado PROCESO.

Si copiamos y pegamos la acción, se generará en el proyecto una nueva acción llamada ACCION1, y tendrá asociado el proceso PROCESO.

Si en lugar de hacer lo anterior seleccionamos la acción y el proceso, los copiamos y los pegamos en el proyecto, se generará en el proyecto una nueva acción llamada ACCION1 y un nuevo proceso llamado PROCESO1, y la ACCION1 tendrá asociado el PROCESO1.

Cuando en un proyecto copiamos un objeto o un grupo de objetos asociados a un origen (objetos asociados a una tabla de datos concreta) o que hacen uso de otros objetos, y los pegamos en un proyecto distinto, si esos orígenes u objetos usados no existen en el destino, el sistema nos advertirá que en los objetos pegados tenemos referencias pendientes de resolver y nos dará opción de asociarlos a un nuevo origen del proyecto de destino o seleccionar el objeto del que haga uso.

En el caso de que al pegar los objetos asociados a un origen o que usen otros objetos y en el proyecto de destino coincidan identificadores de los mismos, el sistema los asignará automáticamente al pegarlos.

Al aceptar, todos los objetos copiados serán creados en el proyecto de destino y apuntando al origen adecuado y usando los objetos adecuados.

Esta funcionalidad nos será de gran utilidad para crear nuestros objetos visuales. Podremos tener un proyecto que contenga los objetos básicos de una tabla (formulario, rejilla, búsquedas, etc.) y así poder reutilizarlos en proyectos que desarrollemos en el futuro.

Comando “pegar como” (ctrl + shift + v)

Este comando, a diferencia del anterior, cuando copiemos objetos, nos permitirá cambiar la tabla asociada al pegarlos. No solamente pegará los objetos asociados a la nueva tabla, sino que también renombrará las etiquetas y los identificadores de acuerdo a la nueva asignación.

Realiza las acciones siguientes:

Muestra la lista de todas las tablas usadas en los objetos visuales copiados y todos los objetos que no haya podido resolver (sólo en el caso que copiemos y peguemos en proyectos diferentes).

Una vez que resolvemos, por cada tabla, pudiendo sustituirla por otra diferente o manteniendo la misma, aceptamos el formulario.

Veremos cómo se generan tantas carpetas, subcarpetas y objetos en el destino como teníamos copiados en el origen, produciéndose la siguiente metamorfosis: se sustituyen los Identificadores de los objetos, su descripción y el nombre de las carpetas, por aquellos que hayamos seleccionado como nueva resolución, siempre y cuando contengan el nombre de la tabla original.

Por ejemplo, si el identificador de la tabla original es CLIENTES y el de la tabla final es PROVEEDORES y una rejilla tiene como identificador CLIENTES, se cambiará por PROVEEDORES. Si el identificador de la rejilla fuera REJILLA_CLIENTES se cambiará por REJILLA_PROVEEDORES.

Si el identificador de dicha rejilla fuera REJILLA no se cambiará porque no contiene el identificador de la tabla original (CLIENTES).

En este caso, si ademas ya existe la rejilla REJILLA, el identificador será REJILLA1 porque no puede haber dos objetos del mismo tipo con el mismo identificador en el mismo proyecto.

Esto nos supondrá un gran ahorro a la hora de programar nuestras aplicaciones, ya que nos permitirá duplicar objetos básicos de nuestras aplicaciones (formularios, rejillas, búsquedas, etc.) de una tabla a otra en cuestión de segundos.

Nota: no es posible pegar objetos que han sido copiados desde un Velneo vDevelop de una versión posterior.

Subobjeto

Se trata un objeto que está contenido en otro objeto y que no tiene ninguna entidad por sí mismo, ya que depende totalmente del objeto contenedor.

Los subobjetos de proyecto de datos pueden ser heredados y usados en otros objetos.

Ejemplo: los campos y los índices son subobjetos de tabla.

Los subobjetos de proyecto de aplicación no pueden ser ni heredados ni usados en otros objetos.

Ejemplo: los eventos y las conexiones de evento son subobjetos de formulario.

Es posible copiar y pegar subobjetos de objetos; por ejemplo, de una tabla copiar y pegar campos.

Es posible también pegar subobjetos de subobjetos, por ejemplo, copiar y pegar una condición de estilo (sub-sub-objeto) de una columna (sub-objeto) de una rejilla (objeto) en otra columna de rejilla. Esto solamente podremos hacerlo desde el panel de subobjetos del objeto:

Última actualización