Preguntas ms frecuentes sobre 
Microsoft Visual FoxPro 6.0 para Windows

stas son algunas de las preguntas ms frecuentes acerca de Visual FoxPro. Examine esta lista antes de llamar al Soporte tcnico de Microsoft.

Para imprimir estas notas, elija Imprimir en el men Archivo. Este documento se divide en las cuatro partes siguientes:
---------------------------------------------------------------------
Parte 1. Soporte y mercadotecnia
Parte 2. Nuevas caractersticas de Visual FoxPro 6.0 
Parte 3. Migracin desde otras versiones de FoxPro
Parte 4. Preguntas frecuentes sobre Visual FoxPro 
---------------------------------------------------------------------

Parte 1. Soporte y mercadotecnia

Pregunta 1-1:  Dnde puedo encontrar actualizaciones del producto?

Respuesta: el mejor lugar para obtener informacin acerca de actualizaciones del producto, que incluyen Service Packs, ejemplos y asistentes actualizados, y ms cdigo, es el sitio Web de Visual FoxPro en la siguiente direccin URL:

www.microsoft.com/spain/vfoxpro

Visite el sitio Web regularmente para descargar las actualizaciones ms recientes.

Pregunta 1-2: Dnde puedo obtener ms informacin acerca de Visual FoxPro?

Respuesta:  la mejor manera de recibir todos los anuncios de nuevos productos es a travs del sitio Web de Microsoft Visual FoxPro. Adems de obtener informacin sobre nuevos productos, en este sitio tambin se ofrecen actualizaciones de productos, artculos tcnicos, documentos, ejemplos ingeniosos de programadores expertos, anuncios de conferencias y vnculos a muchos otros sitios Web de FoxPro.

Pregunta 1-3: Como puedo obtener soporte para mi producto e informar de errores?

Respuesta:  el sitio Web de Microsoft Visual FoxPro tiene vnculos a varias opciones de soporte en lnea, que incluye la Microsoft Knowledge Base de todos los productos. Tambin puede tener acceso a una lista de Preguntas ms frecuentes. Adems de soporte en lnea, puede llamar para obtener soporte directo para su producto. El men Ayuda tiene una opcin que muestra los nmeros de telfono de soporte tcnico. Estos nmeros tambin se pueden usar para informar de problemas que crea que pueden ser errores del producto.

Pregunta 1-4.  Qu es Knowledge Base y cmo puedo usarla?

Respuesta: Knowledge Base es una extensa lista de artculos que tratan la utilizacin de las caractersticas de los productos, los errores conocidos y sus soluciones, adems de otra informacin til que le ayudar a usar los distintos productos de Microsoft. Knowledge Base est disponible en lnea en la siguiente direccin URL:

	support.microsoft.com

Pregunta 1-5: Va a salir una versin Visual FoxPro 6.0a?

Respuesta:  Microsoft tiene el compromiso de producir productos de alta calidad. Si surge la necesidad podemos proporcionar correcciones para Visual FoxPro 6.0. Sin embargo, no estarn en una versin 6.0a. Las correcciones de errores de Visual FoxPro 6.0 se incluirn en Service Packs de Visual Studio. Se anunciarn en los sitios Web de Visual FoxPro, www.microsoft.com/spain/vfoxpro o de Visual Studio, www.microsoft.com/vstudio. 

Pregunta 1-6:  Microsoft ofrece varias soluciones para programar aplicaciones. Cmo s que producto debo usar y recomendar a mis clientes?

Respuesta:  hay varios factores que intervienen en la eleccin del producto apropiado para una tarea. El sitio Web de Microsoft Visual FoxPro contiene un excelente artculo de informacin sobre estrategia que describe las diferencias entre los productos de Microsoft como Visual FoxPro, Visual Basic, SQL Server y Access.

Pregunta 1-7:  Dnde puedo encontrar ejemplos de Visual FoxPro?

Respuesta:  Visual FoxPro 6.0 ofrece una vasta coleccin de ejemplos que incluyen algunos nuevos sobre caractersticas especficas de la versin 6.0. A diferencia de versiones anteriores de Visual FoxPro, ahora los ejemplos se instalan en la ubicacin de todos los ejemplos de Visual Studio. Debe elegir la instalacin de los ejemplos en una instalacin Personalizada. En Visual FoxPro, use la nueva funcin HOME(2) para buscar fcilmente la ubicacin de los ejemplos que decida instalar.

Adems de los ejemplos que se incluyen con el producto, se actualiza frecuentemente el sitio Web de Microsoft con nuevos ejemplos.

Pregunta 1-8: Muchas veces leer un artculo en el sitio Web de Microsoft y ver cdigo de ejemplo para Visual Basic y Visual C++. Significa esto que no puedo usarlos en Visual FoxPro?

Respuesta:  No. En particular, en lo que se refiere a llamar y usar objetos, la sintaxis de Visual Basic y Visual FoxPro es casi idntica. Generalmente podr usar cdigo de Visual Basic y adaptarlo rpidamente a la sintaxis correcta para Visual FoxPro. La similitud de la sintaxis tambin significa, a menudo, el cdigo de un libro o una revista de Visual Basic puede ser til para programadores de Visual FoxPro. 

Pregunta 1-9:  He utilizado Visual FoxPro durante aos. Por qu debo actualizar a Visual Studio?

Respuesta:  Microsoft Visual Studio es la mejor solucin para desarrollo de aplicaciones para los programadores profesionales. A medida que la programacin de aplicaciones se concentra ms en sistemas basados en componentes que integran la tecnologa cliente-servidor e Internet, es necesario tener muchas herramientas que cumplan las demandas de los programadores actuales y las necesidades cambiantes de las compaas. Microsoft Visual Studio ofrece un conjunto completo de herramientas para el programador profesional. Visual Studio Edicin profesional incluye Visual FoxPro, Visual Basic, Visual C++, Visual J++ y Visual InterDev. Visual Studio Edicin empresarial incluye estas cinco herramientas y adems Visual SourceSafe y SQL Server.

Pregunta 1-10:  Cmo puedo obtener informacin adicional relacionada con mercadotecnia as como una participacin en las betas futuras de Visual FoxPro?

Respuesta:  enve mensajes a la siguiente direccin de correo electrnico:

	foxmktg@microsoft.com

No se garantiza que se le seleccionar como participante en una beta ya que el nmero de personas que lo solicita suele superar el nmero disponible de participantes. 
---------------------------------------------------------------------
Parte 2. Nuevas caractersticas de Visual FoxPro 6.0

Pregunta 2-1:  Cules son las novedades de Visual FoxPro 6.0?

Respuesta: hay muchas caractersticas nuevas en la versin 6.0. Algunas de estas caractersticas nuevas son las mejoras de servidor de Automatizacin, los documentos activos, compatibilidad con arrastrar y colocar de OLE, los mtodos Access y Assign, y la Galera de componentes. Para obtener ms informacin acerca de las nuevas caractersticas y los nuevos elementos del lenguaje, haga clic en "Lo nuevo" en la pgina de inicio de Visual FoxPro del examinador de MSDN Library.

Pregunta 2-2:  Qu es un documento activo y cundo debo usarlo? En qu difieren de los documentos activos de Visual Basic?

Respuesta: los documentos activos son una forma de distribuir sus aplicaciones de Visual FoxPro en una intranet. Puede usar los documentos activos para ejecutar formularios creados con Visual FoxPro, que contienen cdigo de Visual FoxPro, directamente en el explorador de Web Microsoft Internet Explorer.

En Visual Basic, los documentos activos no son ms que formularios que se han modificado ligeramente de forma que admitan caractersticas especificas de Internet Explorer. Los documentos activos de Visual FoxPro son ligeramente diferentes. La clase ActiveDoc es una clase no visual que tiene un comportamiento ms parecido a un objeto Application que controla los objetos necesarios para ejecutar formularios existentes de Visual FoxPro en el explorador. Por tanto, no es necesario convertir los formularios. Se han agregado varias propiedades nuevas, incluyendo las propiedades ScrollBars y TitleBar de formulario de forma que se ajusten a los estndares de interfaz de usuario cuando estn alojados en Internet Explorer.

Es importante comprender que la clase ActiveDoc de Visual FoxPro que ejecuta en Internet Explorer no es ms que un archivo de aplicacin (.app) que se puede ejecutar directamente en Visual FoxPro. Por ello, es necesaria la versin de tiempo de ejecucin de Visual FoxPro. As, los documentos activos son ms apropiados para entornos de intranet en los que las restricciones de descargar los archivos de tiempo de ejecucin de Visual FoxPro no son tan severas como a travs de Internet, donde la mayor parte de los usuarios tienen modems para tener acceso. La buena noticia es que los archivos de tiempo de ejecucin slo deben descargarse una vez.

Pregunta 2-3:  Cul es la diferencia entre arrastrar y colocar de OLE y la capacidad de arrastrar y colocar que exista en Visual FoxPro 5.0?

Respuesta: antes de esta versin, Visual FoxPro admita arrastrar y colocar entre formularios y los controles de los formularios. Este tipo de arrastrar y colocar perteneca a Visual FoxPro, lo cual significa que no poda arrastrar a o desde otra aplicacin no Visual FoxPro.

En esta versin, Visual FoxPro admite verdadero Arrastrar y colocar OLE, que es el mismo tipo de Arrastrar y colocar utilizado por otras aplicaciones para Windows. Ahora sus aplicaciones pueden usar este estndar para admitir arrastrar y colocar datos entre otras aplicaciones como Microsoft Excel y Word.

Pregunta 2-4:  Por qu hay dos asistentes para aplicaciones?

Respuesta: en un esfuerzo por simplificar la programacin de aplicaciones para los programadores de Visual FoxPro, se han agregado muchas caractersticas nuevas a la versin 6.0, como el nuevo Marco de trabajo de aplicaciones, el Generador de aplicaciones y la Galera de componentes. El Asistente para aplicaciones antiguo, que se ofreca con la versin 5.0 se incluye por compatibilidad con versiones anteriores. El nuevo asistente, que simplemente pide un nombre de proyecto y una ubicacin, simplifica todo el proceso de creacin de una aplicacin.

Pregunta 2-5:  Cul es la diferencia entre un objeto Project y un objeto ProjectHook?

Respuesta: siempre que se abre un archivo de proyecto (.pjx) se crea un objeto Project. Se puede hacer referencia a este proyecto con el fragmento de cdigo siguiente:

	_VFP.ActiveProject

El objeto Project tiene propiedades para toda la informacin disponible en el cuadro de dilogo Informacin del proyecto, como Colecciones para archivos y servidores.

Como los programadores desean interactuar con varios eventos asociados a un proyecto, como agregar archivos o compilar, fue necesario crear una nueva clase (ProjectHook) que fuera compatible con estos eventos.

Las clases ProjectHook son opcionales para un proyecto. Si se especifica una clase ProjectHook para un proyecto (como se especifica en el cuadro de dilogo Informacin del proyecto), se crea una instancia de la misma cuando se abre el proyecto (esto incluye comandos como BUILD APP) y se destruye cuando se cierra el proyecto.

Pregunta 2-6:  Cmo puedo agregar casillas de verificacin a mi control ListBox?

Respuesta: una mejora frecuentemente solicitada fue agregar compatibilidad con casillas de verificacin al control ListBox nativo de Visual FoxPro. La nueva versin del control Microsoft ActiveX ListView as como el control Treeview admiten ahora casillas de verificacin. Estos controles se incluyen en Visual FoxPro 6.0 (vea la Pregunta 2-7).

Pregunta 2-7:  mis formularios de Visual FoxPro 5.0 que contienen ciertos controles como ListView o TreeView no heredan las caractersticas ms recientes de estos controles (como la compatibilidad con casillas de verificacin). Las aplicaciones distribuidas con estos formularios no funcionan correctamente en los equipos de los usuarios debido a un error de OLE en el formulario.

Respuesta:  en la versin 6.0, se ha cambiado el nombre del archivo que contiene los siguientes controles ActiveX de Comctl32.ocx a Mscomctl.ocx:

	Microsoft ListView Control
	Microsoft TreeView Control
	Microsoft ImageList Control
	Microsoft ProgressBar Control
	Microsoft StatusBar Control
	Microsoft Slider Control
	Microsoft Tabstrip Control
	Microsoft Toolbar Control

Aunque Visual FoxPro 6.0 actualiza al nuevo archivo Mscomctl.ocx, los formularios de la versin 5.0 con estos controles seguirn haciendo referencia al archivo antiguo ya que el control ActiveX est enlazado por su propiedad OleClass. Los controles ActiveX del archivo Comctl32.ocx, ms antiguo, tienen la versin 1. Por ejemplo, la propiedad OleClass de un control ListView en un formulario de la versin 5.0 sera:

	COMCTL.ListViewCtrl.1

Los controles ActiveX nuevos del archivo Mscomctl.ocx tienen la versin 2 (o posterior). Por ejemplo:

	COMCTL.TreeViewCtrl.2

Visual FoxPro no actualizar automticamente sus controles, por lo que debe conocer qu versin de un control ActiveX utiliza un formulario al distribuir sus aplicaciones.

Pregunta 2-8:  Puedo crear mis propias colecciones definidas por el usuario en Visual FoxPro 6.0?

Respuesta: Visual FoxPro 5.0 no admita directamente la creacin de colecciones, que son similares a matrices de objetos. La propiedad Controls del objeto Form es un ejemplo de coleccin. Visual FoxPro 6.0 admite los mtodos Access y Assign, que se pueden usar para crear colecciones definidas por el usuario. Hay un excelente ejemplo de esto en la aplicacin de ejemplo Solutions.

Pregunta 2-9:  Por qu no funcionan los servidores de Automatizacin de Visual FoxPro 5.0 con Microsoft Transaction Server o las pginas Active Server?

Respuesta: se han realizado varias mejoras de servidor en la versin 6.0, que incluyen compatibilidad para subprocesos de modelo de apartamento que permite que los servidores se escalen mejor y se ejecuten mejor en pginas Active Server y en Transaction Server. Las mejoras de biblioteca de tipos permiten ahora que aplicaciones como Visual Basic vean propiedades y mtodos en desplegables para completar comandos.

Tambin se puede producir un error de llamada a procedimiento remoto si usa los servidores de Automatizacin de Visual FoxPro 6.0 o 5.0 con Microsoft Transaction Server 2.0. Si esto ocurre, asegrese de que tiene al menos el Service Pack 1 o posterior de Transaction Server 2.0.

Pregunta 2-10:  Deseo programar una aplicacin para Internet con Visual FoxPro 6.0. Hay muchas caractersticas nuevas para hacerlo. Por donde puedo empezar?

Respuesta: Visual FoxPro proporciona varias herramientas que puede usar para crear aplicaciones que distribuirn por el Web. 

El nuevo Asistente para publicacin en Web y las caractersticas GENHTML son herramientas excelentes para generar varios resultados HTML para publicar sus datos de Visual FoxPro. En funcin de sus necesidades, hay opciones para generar HTML esttico y dinmico. Incluso puede usar el Asistente para publicacin en Web para generar una secuencia de comandos que se puede ejecutar en tiempo de ejecucin para volver a generar su cdigo HTML.

Visual FoxPro tambin admite la creacin de componentes COM (antes conocidos como servidores de Automatizacin) que se pueden usar como objetos de capa intermedia en una aplicacin para Web. Estos objetos se pueden distribuir para tener acceso a datos de Visual FoxPro y procesarlos, mediante ODBC o ADO as como controlar reglas de negocios. Puede tener acceso a los componentes COM de Visual FoxPro directamente desde pginas Active Server y desde Microsoft Transaction Server. Tambin puede usar la extensin FOXISAPI que se incluye en Visual FoxPro. Microsoft Internet Information Server puede llamar a esta extensin para solicitar cdigo HTML desde un componente COM de Visual FoxPro invocando un mtodo que devuelve cdigo HTML directamente.

La nueva tecnologa de documentos activos es otra opcin que le permite aprovechar los formularios existentes de Visual FoxPro y ejecutarlos a travs de la Intranet. Como es necesario el entorno de tiempo de ejecucin de Visual FoxPro, no siempre es lo mejor distribuir a travs de Internet.

Pregunta 2-11:  Por qu la nueva propiedad Scrollbars para formularios no muestra barras de desplazamiento en mi formulario cuando cambio esta propiedad en tiempo de ejecucin?

Respuesta: antes de crear un formulario, Visual FoxPro lee la propiedad Scrollbars del formulario porque el valor de esta propiedad determina cmo se crea un formulario. Si el valor de la propiedad Scrollbars es 0 (sin barras de desplazamiento), Visual FoxPro crea un formulario ligero de tipo Visual FoxPro 5.0. Si el valor de la propiedad Scrollbars es un valor diferente de 0, Visual FoxPro crea un formulario que consume ms memoria. Al disear sus aplicaciones, tenga en cuenta que los formularios con barras de desplazamiento requieren ms memoria.

Si se establece la propiedad Scrollbars a 0 en tiempo de diseo, en tiempo de ejecucin la propiedad Scrollbars es de slo lectura porque Visual FoxPro crea inicialmente un formulario ligero. Sin embargo, si se establece la propiedad Scrollbars a un valor distinto a 0 en tiempo de diseo, Visual FoxPro permite que la propiedad Scrollbars sea de lectura-escritura en tiempo de ejecucin porque puede haber cdigo que llame a la funcin SAVEAS() para crear un nuevo formulario con barras de desplazamiento. Si no necesita barras de desplazamiento en un formulario (por ejemplo, el formulario usa marcos de pginas), establezca la propiedad Scrollbars a 0 en tiempo de ejecucin para ahorrar memoria.
Si se establece la propiedad Scrollbars a un valor distinto de 0 en tiempo de diseo, puede modificar el valor de la propiedad Scrollbars en tiempo de ejecucin. Sin embargo, si cambia el valor de la propiedad Scrollbars a 0, Visual FoxPro ocultar las barras de desplazamiento en el formulario; no se crear un nuevo formulario ligero.
---------------------------------------------------------------------
Parte 3. Migracin desde otras versiones de FoxPro y Visual FoxPro

Pregunta 3-1:  Qu debo tener en cuenta al mover mis aplicaciones de Visual FoxPro 5.0 a Visual FoxPro 6.0?

Respuesta: las aplicaciones de Visual FoxPro 5.0 se ejecutarn tal cual directamente en Visual FoxPro 6.0. Si el cdigo de su aplicacin 5.0 contiene alguna referencia a barras de mens del sistema (como _msystem), debe volver a compilar el cdigo. Tambin puede crear aplicaciones en 6.0 y ejecutarlas en 5.0; sin embargo, si hace esto, su cdigo no debe contener ningn elemento del lenguaje 6.0. Las bases de datos se pueden compartir entre las dos versiones.

El formato de archivo de los archivos de men (.mnx) se ha modificado ligeramente para acomodar la compatibilidad con la clase ActiveDoc. Si intenta abrir un men 5.0 en la versin 6.0, se le pedir que lo convierta al nuevo formato.

El nuevo formato de men ser compatible con las versiones 5.0 de GENMENU y otras utilidades XBase que leen el archivo .mnx. Sin embargo, el diseador de mens de Visual FoxPro 5.0 no podr abrir los mens del formato 6.0. Para convertir un archivo .mnx de la versin 6.0 al formato 5.0, puede usar el siguiente comando:

	ALTER TABLE mimenu.mnx ALTER COLUMN location N(1)

Sin embargo, se puede perder o daar la informacin NEGOTIATE para barras de mens al hacerlo.

Los archivos de proyecto (.pjx) se mantienen igual; sin embargo, se almacena nueva informacin de ProjectHook en estos archivos. Por tanto, si usa proyectos de la versin 6.0 con enganches de proyecto (que son opcionales), debe evitar abrirlos en la versin 5.0.

Lea la seccin "Actualizar" de la Ayuda.

Pregunta 3-2: Por qu tengo que ejecutar SYS(2333,0) para permitir que varios controles ActiveX funcionen de forma apropiada en Visual FoxPro 5.0?

Respuesta: en Visual FoxPro 6.0, la variable predeterminada es SYS(2333,0), por lo que esto ya no es necesario. Tambin se recomienda que establezca _vfp.AutoYield a .F. also.

Pregunta 3-3:  Qu debo tener en cuenta al mover mis proyectos de aplicaciones de Visual FoxPro 3.0 a Visual FoxPro 6.0?

Respuesta: tendr que volver a compilar las aplicaciones programadas en Visual FoxPro 3.0 para que se ejecuten en Visual FoxPro 6.0, ya que el cdigo objeto no es compatible entre versiones.

Se ha cambiado el formato de archivo de base de datos (.dbc) entre la versin 3.0 y la 5.0, por lo que no es prctico compartir bases de datos entre aplicaciones programadas en 3.0 y aplicaciones programadas en 6.0 a menos que los usuarios de 3.0 tengan acceso a los datos a travs del controlador ODBC de Visual FoxPro (con vistas remotas).

El formato para archivos de formulario (.scx) y archivos de clases (.vcx) se ha modificado ligeramente entre las versiones 3.0 y 5.0 (vea la Pregunta 3-5). Como en la versin 5.0, al abrir un formulario o una clase de la versin 3.0 en la versin 6.0, se invoca al convertidor.

Los archivos de proyecto se actualizaron en la versin 5.0 para que fueran compatibles con la integracin con control de cdigo fuente. Por tanto, los proyectos de la versin 3.0 se convierten automticamente para que admitan control de cdigo fuente cuando se abren en la versin 6.0.

Vea la Pregunta 3-1 para obtener ms detalles sobre los cambios en archivos de men y de proyecto realizados entre las versiones 5.0 y 6.0. Adems, lea la seccin "Actualizar" en la Ayuda.

Pregunta 3-4:  Cul es la estrategia multiplataforma de Visual FoxPro?

Respuesta: lea la Pregunta 3-2; la versin actual de Visual FoxPro para Macintosh es la 3.0. Hay varias soluciones multiplataforma alternativas para programadores de Visual FoxPro para Windows que se deben evaluar seriamente. Considere la posibilidad de usar Microsoft Internet Explorer para Macintosh como interfaz para usuarios de Mac. Puede usar los servidores de Automatizacin de Visual FoxPro 6.0 para tener acceso a datos de Fox y mostrarlos como cdigo HTML. La utilidad FoxISAPI (compatible con el nuevo administrador de grupos incluido en la versin 6.0) es una de esas soluciones.

Pregunta 3-5:  Si modifico o ejecuto mis formularios de Visual FoxPro 3.0 en Visual FoxPro 6.0, las fuentes son ms pequeas y ya no estn en negrita. Cul es la causa de esto y cmo puedo evitarlo?

Respuesta:  para permitirle crear ms fcilmente formularios que se ajusten al estndar Windows 95, se han cambiado varios valores de propiedad predeterminados para controles, incluyendo FontSize, FontBold y ColorSource. Si se establecieron al valor predeterminado en Visual FoxPro 3.0, seguirn siendo valores predeterminados en Visual FoxPro 6.0. Sin embargo, como los valores predeterminados son diferentes, el texto se mostrar de forma diferente.

Si desea que sus formularios tengan la misma apariencia que en Visual FoxPro 3.0, convirtalos como parte de un proyecto. A continuacin, cuando abra el proyecto de Visual FoxPro 3.0 en Visual FoxPro 6.0, active la casilla de verificacin Conservar los valores predeterminados de propiedades de Visual FoxPro 3.0 en el convertidor.

Pregunta 3-6:  Qu debo tener en cuenta al mover mis aplicaciones de FoxPro 2.x a Visual FoxPro 6.0?

Respuesta: Visual FoxPro 3.0 fue una actualizacin importante para los programadores de FoxPro. De hecho, con el cambio de paradigma (vea la Pregunta 3-7), algunas personas consideran que Visual FoxPro es un producto completamente nuevo. Con el cambio a la tecnologa orientada a objetos, se han cambiado la mayor parte de los formatos de archivo.

Visual FoxPro incluye una utilidad Convertidor que controla todos los cambios de formato de archivo. Sin embargo, no convierte el cdigo procedural a cdigo orientado a objetos excepto para elementos visuales de interfaz de usuario. Debe saber que su cdigo existente de FoxPro 2.x seguir ejecutndose tal cual. Recomendamos que migre su cdigo fuente a cdigo orientado a objetos donde sea posible, para beneficiarse de muchas caractersticas nuevas as como de prcticas de programacin ms eficaces.

Una de las nuevas caractersticas de Visual FoxPro ms populares es la compatibilidad con bases de datos reales (como una coleccin de tablas). El trmino "base de datos" se sola usar indistintamente con "tabla" en FoxPro 2.x y en versiones anteriores.

Lea la seccin "Actualizar" de la Ayuda.

Pregunta 3-7: Cundo debo usar la programacin orientada a objetos en lugar de la programacin procedural? Es mejor crear clases visualmente o mediante programacin de cdigo?

Respuesta:  puede seguir programando en el estilo procedural tradicional en Visual FoxPro si lo prefiere. La mayor parte de los programas de FoxPro versin 2.x programados en estilo procedural se ejecutarn con mnimas modificaciones en Visual FoxPro. 

Sin embargo, considere la posibilidad de hacer la transicin al estilo de programacin orientada a objetos si se cumplen las siguientes condiciones:

	1.  Su organizacin participa actualmente en un proceso estructurado
	    y analtico para nuevos proyectos de programacin.

	2.  Desea invertir los recursos necesarios para programar una biblioteca 
	    de cdigo reutilizable sin obtener los resultados de esta inversin
	    hasta despus de finalizar el proyecto actual.

	3.  Desea aprovechar la eficacia del control de eventos, la sintaxis de cdigo
          comn y otras ventajas asociadas a la programacin orientada a objetos de 
          Visual FoxPro.

Cuando cree una clase mediante programacin, debe conocer todos los comandos necesarios para completar una tarea, pero puede inspeccionar cualquier parte del cdigo en cualquier momento. Si crea visualmente una clase, no tiene que conocer todos los comandos para completar una tarea, pero debe analizar cada mtodo individualmente. Una de las ventajas de Visual FoxPro es la capacidad de agregar una clase definida mediante cdigo a un formulario, guardar los objetos instanciados como una clase y, a continuacin, modificar visualmente las clases. Esta funcionalidad, combinada con la capacidad de exportar cdigo mediante el Examinador de clases, proporciona lo mejor de los dos tipos de herramientas de diseo de clases.

Pregunta 3-8: ha crecido el nmero de datos de mi cliente. Cmo puedo mover mis datos de Visual FoxPro a Microsoft SQL Server?

Respuesta: Visual FoxPro incluye un Asistente para Upsizing que mueve bases de datos de FoxPro a SQL Server u Oracle. El Asistente tiene opciones para crear automticamente en su base de datos vistas remotas que tengan acceso a los nuevos datos de SQL Server. Esta estrategia le permite conservar formularios e informes existentes que tienen acceso a orgenes de datos con mnimas modificaciones.

Pregunta 3-9: Por qu hay un nuevo archivo Mscomctl.ocx? Sigue siendo necesario un nuevo archivo Comctl32.ocx? Cules son los posibles problemas?

Respuesta: El archivo Comctl32.ocx de Visual FoxPro 5.0 contiene los siguientes controles ActiveX:

	Treeview
	Listview
	Slider
	Imagelist
	Status Bar
	Tabstrip
	Progress Bar
	Toolbar

Con Visual FoxPro 6.0, se incluyen versiones actualizadas de estos controles en el nuevo archivo Mscomctl.ocx. Esto se hizo principalmente porque se han agregado varias caractersticas nuevas a los controles, como compatibilidad con casillas de verificacin y botones Activar.

Los programadores de Visual FoxPro deben tener en cuenta los siguientes problemas importantes:

- Visual FoxPro no actualiza automticamente los controles ActiveX de formularios para utilizarlos con la nueva versin. As, los formularios existentes que usen controles como Treeview seguirn haciendo referencia al antiguo archivo Comctl32.ocx.

- Cuando se agrega un control a un formulario no puede actualizarlo ni cambiar su versin. Esto se hace a propsito de forma que versiones ms recientes de controles ActiveX no produzcan errores en el cdigo si, por alguna razn, la nueva versin no es compatible con las versiones anteriores. 

- Puede determinar qu versin tiene de un control si ve la propiedad OleClass del control en la ventana Propiedades.

	Por ejemplo:
	COMCTL.ListViewCtl.1		(versin de Comctl32.ocx ms reciente)
	COMCTL.ListViewCtl.2		(versin de Mscomctl.ocx ms reciente)

- Es importante que sepa qu versin de un control usan sus formularios para propsitos de distribucin. Si todos sus formularios usan el control Listview antiguo, no querr distribuir el nuevo archivo Mscomctl.ocx. El Asistente para instalacin le permite seleccionar el archivo especfico que desea incluir en sus aplicaciones distribuidas.

- Otro problema importante para los programadores que tienen los controles Comctl32.ocx y Mscomctl.ocx instalados y registrados en un nico equipo, es asegurarse de que Mscomctl.ocx siempre se registra en ltimo lugar. Cuando agrega un control ActiveX a un formulario, el cuadro de dilogo Insertar objeto muestra una lista de controles. Es posible que el cuadro de dilogo no muestre las versiones ms recientes de estos controles.

La versin actual no siempre es la versin ms reciente, sino la ltima registrada. As, si registra Comctl32.ocx despus de instalar Visual FoxPro, puede restablecer fcilmente el archivo Mscomctl.ocx como archivo actual si ejecuta Regsvr32.exe desde el men Inicio de Windows -> cuadro de dilogo Ejecutar. Por ejemplo, ejecute:

	REGSVR32 c:\Windows\System\Mscomctl.ocx

Esto asegura que siempre se instalar la versin ms reciente de estos controles ActiveX.
---------------------------------------------------------------------
Parte 4. Preguntas frecuentes acerca de Visual FoxPro 

Pregunta 4-1:  Cmo puedo ocultar el escritorio de Visual FoxPro cuando se inicia el archivo .exe de mi aplicacin?

Respuesta:  coloque la siguiente lnea de cdigo en el archivo de configuracin Config.fpw:

	SCREEN=OFF

Nota: si no tiene que proporcionar el archivo Config.fpw como un archivo independiente (es decir, no tendr que modificarlo despus de generar el archivo .exe), puede agregar el archivo Config.fpw al proyecto, asegurndose de que est marcado como incluido y se generar como parte del archivo .exe. Visual FoxPro no ocultar el escritorio a menos que haya un formulario de nivel superior activo. Tambin puede ocultar el escritorio mediante programacin con el comando siguiente (suponiendo que ya hay un formulario de nivel superior activo):

	_VFP.Visible = .F.

Pregunta 4-2:  Cmo puedo crear un formulario de nivel superior con un men de nivel superior?

Respuesta:  para crear un formulario de nivel superior, establezca la propiedad ShowWindow del formulario a 2-Como formulario de nivel superior. Para crear un men de nivel superior, abra el Diseador de mens. En el men Ver, elija Opciones generales y, a continuacin, seleccione la casilla de verificacin Formulario de nivel superior. Para colocar el men de nivel superior en el formulario de nivel superior debe colocar cdigo en el evento Init (u otro evento) del formulario. Por ejemplo:

	DO <nombre men.mpr> with THIS,.T.

Para ver varias opciones para llamar al men de nivel superior, lea el encabezado del archivo .mpr generado.

Pregunta 4-3:  Algunos de los formularios de los archivos de ejemplo Solutions no muestran correctamente etiquetas de ttulo o de control. Cul es la razn?

Respuesta:  los formularios del ejemplo Solutions estn diseados para mostrarse correctamente con la configuracin predeterminada de fuente de Windows (fuentes pequeas). Si usa fuentes grandes, no se mostrarn correctamente algunos de los formularios. Para usar fuentes pequeas, haga doble clic en el icono Pantalla del Panel de control y, a continuacin, en el cuadro de dilogo Pantalla, elija la ficha Configuracin. En la lista desplegable Tamao de fuente, elija Fuentes pequeas.

Pregunta 4-4:  Tengo que usar la opcin Unirse a proyecto de control de cdigo fuente en el men Proyecto cada vez que abro un proyecto de Visual FoxPro que est bajo control de cdigo fuente?

Respuesta:  no, esto slo se hace una vez. Cuando selecciona Unirse a proyecto de control de cdigo fuente, Visual FoxPro crea una copia de los archivos de proyecto existentes (.pjx) en su disco duro local en el directorio de trabajo del proyecto. Visual FoxPro tambin crea una lista de archivos de proyecto (.pjm "metarchivo de proyecto") que usa para administrar los cambios realizados por los distintos programadores en la lista de archivos de proyecto). Despus de haberse unido a un proyecto, puede abrir el proyecto como siempre y Visual FoxPro reconocer que est bajo control de cdigo fuente.

Pregunta 4-5:  Cuando agrego un archivo a un proyecto de Visual FoxPro que est bajo control de cdigo fuente, obtengo el siguiente mensaje de error:

     "No se pudo asignar el archivo <nombre archivo> al proyecto de SourceSafe $/<nombre proyecto>"

A este mensaje le sigue el siguiente mensaje en la ventana Resultados de control de cdigo fuente:

     "Se ha producido un error de API SCC 'Operacin no realizada' en el archivo <nombre archivo>".

El archivo agregado no est visible para otros usuarios que comparten el proyecto, incluso despus de que elija Actualizar lista de proyecto. Qu estoy haciendo mal?

Respuesta:  Cuando agrega archivos a un proyecto de Visual FoxPro que est bajo control de cdigo fuente, gurdelos en el directorio de trabajo en el que se cre la copia del proyecto actual.

Pregunta 4-6:  Acabo de agregar un archivo a un proyecto de Visual FoxPro que est bajo control de cdigo fuente y tambin he agregado el archivo al control de cdigo fuente, pero no est visible para otros usuarios que comparten el proyecto. Qu es lo que pasa?

Respuesta:  despus de crear un nuevo archivo o agregar un archivo a un proyecto, debe actualizar el archivo de lista de proyecto (.pjm) de forma que el archivo nuevo o agregado pase a ser visible para otros usuarios. En el submen Control de cdigo fuente del men Proyecto, elija Actualizar lista de proyecto. Visual FoxPro combinar la lista de proyecto local con la almacenada en el servidor. Los otros usuarios deben hacer lo mismo. Cuando lo hagan, Visual FoxPro combinar sus cambios con sus archivos de listas de proyecto locales (.pjm) y vuelve a generar sus archivos de proyecto locales (.pjx).

Pregunta 4-7:  Qu es una vista fuera de lnea y que puedo usar para la misma?

Respuesta:  una vista fuera de lnea le permite obtener una instantnea de una tabla y manipularla sin tener que estar conectado a la tabla host. Cuando haya terminado con la tabla, puede volver a conectarse con el host y sincronizar la vista con la tabla host. Al usar vistas fuera de lnea, puede:

         * Duplicar un subconjunto de datos de una tabla de Visual FoxPro o de un origen de datos remoto.
         * Manipular el subconjunto duplicado de forma interactiva o mediante una aplicacin.
         * Compartir una tabla de bfer de cambios mientras est fuera de lnea.
         * Volver a conectarse al origen de datos apropiado.
         * Actualizar por lotes las tablas locales o remotas.

Estas caractersticas pueden ser muy tiles si tiene que trabajar con una pequea parte de los datos sin estar conectado fsicamente a su origen (por ejemplo, cuando est de viaje o trabaja fuera de la oficina y tiene que utilizar los datos ms actuales de una tabla).

Pregunta 4-8:  Cul es la diferencia entre la propiedad DataSource y la propiedad ControlSource? Cul es la diferencia entre la propiedad RowSource y la propiedad RecordSource?

Respuesta:  la propiedad DataSource afecta a las vistas ODBC almacenadas en una base de datos (.dbc). Contiene una referencia al nombre del archivo de datos al que se est conectando ODBC y debe sealar a un origen de datos vlido, definido a travs del Administrador de ODBC. Puede manipular la propiedad DataSource con la funcin SQLSETPROP() y ver sus valores con la funcin SQLGETPROP().

La propiedad ControlSource se usa para determinar el origen de datos al que est enlazado un objeto; la tabla o vista a la que est enlazado el objeto puede ser de cualquier tipo, incluyendo tablas locales de Visual FoxPro. En los objetos, la propiedad ControlSource puede incluir los controles CheckBox, Column, ComboBox, CommandGroup, EditBox, ListBox, OLE Bound Control, OptionButton, OptionGroup, Spinner y TextBox.

Varios controles (ListBox y ComboBox) le permiten mostrar ms de un campo y una fila cada vez. Adems de la propiedad ControlSource, estos controles tambin tienen una propiedad RowSource para ello. Los datos se siguen enlazando a un nico campo, que es por lo que estos controles tienen una propiedad ControlSource. El control Grid es nico en el sentido de que tiene una propiedad RecordSource, pero no una propiedad ControlSource. En los controles Grid, los datos se enlazan a un conjunto completo de registros.

Pregunta 4-9:  Por qu mi cuadro combinado slo muestra una fila de datos?  He creado una matriz para el cuadro combinado y ejecutado un comando SELECT - SQL en el evento Init de mi formulario para llenar la matriz.

Respuesta:  ha creado una matriz en el evento Init del formulario sin filas o con una nica fila. Cuando se crea el formulario, se produce el evento Init del cuadro combinado antes del evento Init del formulario y, por tanto, el cuadro combinado slo contiene una fila de informacin. Para corregir esto, agregue la siguiente lnea de cdigo inmediatamente despus de la instruccin SELECT - SQL que crea la matriz en el evento Init del formulario:

	THISFORM.ComboBox1.RowSource = THISFORM.ComboBox1.RowSource

Pregunta 4-10:   Cmo oculto columnas especficas en un cuadro combinado y muestro otras?

Respuesta:  la forma ms fcil de ocultar columnas especficas en un cuadro combinado es utilizar el Generador de cuadros combinados. Arrastre las columnas al ancho deseado en la ficha Diseo del Generador de cuadros combinados.
Para ocultar columnas especficas en un cuadro combinado mediante programacin, establezca la propiedad ColumnWidth a 0 para las columnas. En el siguiente cdigo de programa, se ocultan las columnas 1 y 2 y la columna 3 tienen un ancho de 100 pxeles:

	THISFORM.ComboBox1.ColumnWidths = 0,0,100

Pregunta 4-11:  He creado un archivo y he usado el Asistente para instalacin para crear discos de distribucin con Visual FoxPro 6.0 en Windows 95. Ahora la aplicacin no se ejecuta en ningn equipo con Windows para Trabajo en grupo.  A qu se debe esto?

Respuesta:  Visual FoxPro 6.0 es una aplicacin de 32 bits y slo crear archivos .exe de 32 bits.  Windows para Trabajo en grupo es un sistema operativo de 16 bits y slo puede ejecutar aplicaciones de 16 bits.  Debe tener Windows 95, Windows NT 4.0 o posterior para ejecutar sus aplicaciones de Visual FoxPro.

Pregunta 4-12:  Puedo personalizar los colores utilizados para marcar la sintaxis en una ventana de edicin?

Respuesta:  puede personalizar fcilmente la apariencia del cdigo si elige Opciones en el men Herramientas y selecciona la ficha Colorear la sintaxis del cuadro de dilogo Opciones.  Encontrar varias formas de personalizar los colores del cdigo.

Si desea desactivar completamente la capacidad de colorear la sintaxis, elija Propiedades en el men Edicin para mostrar el cuadro de dilogo Modificar propiedades. Despus desactive la casilla de verificacin Colorear la sintaxis.

Pregunta 4-13:  Puedo personalizar las marcas de comentario utilizadas para comentar la sintaxis en una ventana de edicin?

Respuesta: Visual FoxPro no admite directamente la posibilidad de cambiar esta opcin a travs de la interfaz de usuario; sin embargo, puede cambiar manualmente esta configuracin si agrega un nuevo valor al Registro de Windows. En primer lugar, abra el Registro con RegEdit (escriba RegEdit en el cuadro de dilogo que se muestra cuando elige el men Inicio -> Ejecutar...). A continuacin, busque la siguiente clave de Registro.

	HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\6.0\Options

Debe ver algunos valores familiares en el panel de la derecha. Son los valores guardados en el cuadro de dilogo Opciones de Visual FoxPro. Para agregar la nueva marca de comentario, seleccione Nuevo -> Valor de la cadena en el men Edicin y escriba el valor siguiente:

	EditorCommentString

Por fin, haga doble clic en esta nueva entrada del Registro y agregue una nueva marca de comentario que desee usar (de forma predeterminada, Visual FoxPro usa *!*). Asegrese de que su entrada empieza por *, ya que esto denota un comentario en el cdigo de FoxPro cuando se compila.

Pregunta 4-14:  Puedo personalizar el nmero predeterminado de elementos de la lista desplegable de un cuadro combinado como el utilizado en la ventana Cdigo o en la ventana Propiedades?
Respuesta: Visual FoxPro no admite directamente cambiar esta opcin a travs de la interfaz de usuario; sin embargo, puede cambiar manualmente esta configuracin si agrega un nuevo valor al Registro de Windows. En primer lugar, abra el Registro con RegEdit (escriba RegEdit en el cuadro de dilogo que se muestra cuando se elige el men Inicio -> Ejecutar...). A continuacin, busque la siguiente clave del Registro.

	HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\6.0\Options

Ver varios valores familiares en el panel de la derecha. Son los valores guardados en el cuadro de dilogo Opciones de Visual FoxPro. Para agregar el nuevo valor de DisplayCount, seleccione Nuevo -> Valor de la cadena en el men Edicin y escriba los valores siguientes:

	DisplayCount

Por fin, haga doble clic en esta nueva entrada del Registro y agregue el nuevo nmero de lneas que desea mostrar (de forma predeterminada, Visual FoxPro 5.0 usa 7 y Visual FoxPro 6.0 usa 15 ).

El valor predeterminado de la propiedad DisplayCount de los cuadros combinados sigue siendo 7, por compatibilidad con versiones anteriores.

Pregunta 4-15: Tengo problemas al usar los controles ActiveX Treeview y Listview. Por ejemplo, no se encuentran las imgenes del control ImageList asociado. Por qu ocurre esto?

Respuesta: el problema puede deberse a la versin de Comctl32.ocx que tiene instalada. Si tiene una versin registrada de Comctl32.ocx o Mscomctl.ocx (nuevo para Visual FoxPro 6.0) en el directorio Windows\System con fecha posterior a 21-8-96, no puede asociar un control ImageList con el control Treeview o Listview mediante la Pgina de propiedades. La solucin es colocar manualmente cdigo como el siguiente en el evento Init del control:

	ex. Treeview Init
	this.object.ImageList=thisform.imagelist1.object 	&& imagelist1=imagelist object

	ex. Listview Init
	this.object.Icons=thisform.imagelist2.object 		&& imagelist2=imagelist object
	this.object.SmallIcons=thisform.imagelist3.object	&& imagelist3=imagelist object

Lo siguiente tambin se aplica al uso de un archivo Comctl32.ocx registrado con fecha posterior a 21-8-96:

Si tiene un formulario (.scx) o una clase de contenedor (.vcx) con un control TreeView o ListView que utiliza un control ImageList y el formulario o la clase se guard con un archivo Comctl32.ocx con fecha posterior a 21-8-96 (la versin que se incluye en Visual FoxPro 5.0), el formulario o la clase se ejecutar con alguna versin anterior o con la versin ms reciente de Comctl32.ocx, por lo que se conserva la compatibilidad posterior.

Si crea o guardar un formulario o una clase que usa un control de Comctl32.ocx y el archivo Comctl32.ocx tiene una fecha posterior a 21-8-96, se tendr que modificar o ejecutar la misma versin de Comctl32.ocx o posterior y ejecutar el formulario o la clase. Las nuevas versiones de Comctl32.ocx slo son compatibles con las futuras versiones, no con las versiones anteriores.

Pregunta 4-16: Tengo un control ActiveX Treeview o Listview que tarda en cargar elementos. Hay alguna forma de mejorar el rendimiento?

Respuesta: al llenar el control TreeView o ListView agregue el cdigo siguiente:

	treeview.Visible=.F.
	treeview.Top=treeview.Top+9999
	<agregue cdigo aqu para llenar el control treeview>
	treeview.Top=treeview.Top-9999
	treeview.Visible=.T.

Generalmente esto dobla el rendimiento de carga, principalmente porque el control no intenta actualizar su propia interfaz de usuario para cada adicin de un nodo.

Pregunta 4-17: Tengo problemas al ejecutar el segundo ejemplo FoxISAPI (FOXIS.EMPLOYEE) desde mi explorador de Web aunque puedo crear una instancia del servidor en Visual FoxPro. Por qu?

Respuesta: suele haber problemas como ste en los que el servidor se ejecuta correctamente en Visual FoxPro pero no en el explorador; tiene un problema de configuracin. Probablemente no ha proporcionado los permisos de acceso apropiados al servidor de Web; esto lo puede resolver si ejecuta el archivo Dcomcnfg.exe y cambia la configuracin. Para obtener ms informacin, busque "FoxISAPI: un ejemplo de servidor OLE" en la Ayuda.


