Creación de objetos dinámicos.

Los objetos que nosotros vamos a ir creando en tiempo de ejecución se crean de manera dinámica es decir , no existen hasta que nosotros no realizamos una instancia de la clase mediante el mandato NEW. Cuando llamamos a su constructor mediante el método open es cuando realmente  se hace visible aunque realmente estuviera ya creado. Definamos  desde la ventana de comandos de Visual dBASE tres variables a1,a2,a3 y realicemos una instanciación de ellas mediante el mandato NEW FORM(). A continuación apliquemos el método open a cualquiera de las nuevas instancias de la ficha que hemos creado. El resultado es que se visualiza la nueva ficha que tiene como puntero una variable de tipo objeto. Si aplicamos el método close nos encontramos con que la ficha desaparece de la pantalla pero no se elimina de memoria, al realizar de nuevo la apertura se realiza la instanciación de la ficha sin necesidad de volver a tener que redefinirla como puede verse en el ejemplo.

a1 = new form()
a2 = new form()
a3 = new form()
a2.open()
a2.close()
a2.open()
 
 

Cuando eliminamos de memoria el objeto mediante el método release es cuando el objeto ya no es accesible al intentar  hacer de nuevo el método open como se ve en el ejemplo.

a2.release()
a2.open() // Se produce el siguiente error
 

No solo es posible crear los objetos de tipo ficha  en tiempo de ejecución si no que es posible crear cualquier otro objeto. Sin embargo la única manera de poder desde la propia ficha A continuación vamos a ver como podríamos crear objetos dinámicamente desde la  propia ficha. Para realizar esta operación  es necesario explicar en primer lugar qué es el operador this. El operador this viene a ser el equivalente de hacer una referencia directamente al identificador de la ficha. De esta manera cuando indicamos this.text estamos haciendo  referencia a la ventana activa.


(C) 1999 Database DM. la reproduccion total o parcial de este curso, asi como la divulgación de parte o la totalidad de este curso, esta sujeta a las leyes de Propiedad.