Compartir a través de


Biblioteca de tiempo de ejecución VFP7T.DLL

Este tiempo de ejecución de varios subprocesos ayuda a eliminar los problemas que ocasionan los bloqueos asociados al tiempo de ejecución vfp7r.dll. Con la biblioteca en tiempo de ejecución vfp7t.dll, puede implementar servidores en proceso sin bloquear la ejecución del código.

Debido a que Vfp7t.dll es una biblioteca de tiempo de ejecución ligera, diseñada sólo para servidores en proceso, se han deshabilitado muchos comandos y funciones relacionados con características visuales y de entrada del usuario.

Como no se producen bloqueos en vfp7t.dll, un objeto que ejecute un procedimiento inusualmente largo (como la impresión de un informe) no evitará que otros objetos ejecuten rutinas rápidas. Por ejemplo, con vfp7r.dll, un objeto que ejecuta una rutina de consulta a una base de datos que dura 1 segundo podría tener que esperar 15 minutos a que un objeto imprima un informe largo y complejo. Si utiliza vfp7t.dll para generar, no tendrá el mismo problema.

Además de solucionar los problemas de los bloqueos, la implementación del modelo Apartamento de subproceso en el tiempo de ejecución vfp7t.dll también elimina los conflictos de acceso a los datos globales desde varios subprocesos, ya que se asigna a cada apartamento su propia copia de los datos globales. vfp7t.dll utiliza un almacén local de subprocesos para dar a cada instancia de clase su propio conjunto de datos. Esto significa que una variable que declare como PUBLIC sólo es global para el subproceso; cada subproceso tiene una instancia de la variable.

Nota   Las propiedades de lectura y escritura del objeto Application, como AutoYield, son globales para el proyecto.

Visual FoxPro permite implementar el mismo tiempo de ejecución vfp7t.dll para varios servidores de automatización .dll en proceso que se llamen simultáneamente, estén o no en el mismo proceso o subproceso. El tiempo de ejecución vfp7r.dll original crea una copia de la biblioteca con otro nombre para cada servidor .dll en proceso que se ejecute en el mismo proceso.

Visual FoxPro dispone de una clase Session, que debe utilizar para las clases de servidor OLEPUBLIC. Igual que con los formularios, la propiedad DataSession permite crear una sesión privada de datos para el objeto en el momento que se crea la instancia. La ventaja de la clase Session es que utiliza mucha menos memoria que un formulario. El tiempo de ejecución vfp7t.dll protege automáticamente los datos globales y los datos del usuario mediante el almacén local de subprocesos, pero sólo se aplica entre apartamentos (subprocesos). Los objetos que están en un mismo subproceso cuya instancia se ha creado a partir de la misma .dll tienen acceso a los datos de cada uno de los demás. La clase Session ayuda a proteger los datos del subproceso.

Debido a que el tiempo de ejecución vfp7t.dll se ha diseñado sólo para su uso con servidores en proceso, se ha disminuido. Se han eliminado muchos comandos y funciones de la interfaz de usuario, incluida la compatibilidad para READ y @…Get/Say, de FoxPro 2.x. Además se han quitado algunos diseñadores, como el Diseñador de tablas y el Diseñador de informes, que existen en el tiempo de ejecución vfp7r.dll. El tiempo de ejecución vfp7t.dll también admite clases visuales, por ejemplo, los formularios.

Vea también

Biblioteca de tiempo de ejecución VFP7R.DLL | Consideraciones y limitaciones para diseñar servidores | Interoperabilidad e Internet | Bibliotecas de tiempo de ejecución de Visual FoxPro | Seleccionar tipos de proceso