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.