Vfp90. Sustitución de macro. ¿Cambios?

02/09/2005 - 17:24 por Eduardo Castellano | Informe spam
Saludos a tod@s:

Siempre, y cuando digo siempre es siempre, hasta hoy, he utilizado este
código para abrir tablas:

LOCAL l_fic
l_fic=oEntorno.Ruta+'plt.dbf'
USE &l_fic IN 0 SHARED

Hoy he probado un ejecutable hecho con vfp9 (es el primer proyecto nuevo
en vfp90), en una máquina limpia (recien instalado XPPSP1) y no he tenido
más remedio que cambiar mi código por:

USE (l_fic) IN 0 SHARED

En el ordenador en el que desarrollo no me dá ningun problema, pero la
prueba falla.
Me preocupa porque utilizo con mucha frcuencia la sustitución por macro y
no se que va ha ocurrir con todo mi código.

¿Se trata de un bug del vfp9?
¿Alguie ha observado algo parecido?
¿Alguna idea?

Gracias


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
 

Leer las respuestas

#1 Germán Giraldo
02/09/2005 - 17:58 | Informe spam
No es ningún bug, no es un cambio de comportamiento, es un cambio en la ruta
donde tienes la tabla.

No se debe utilizar la macrosustitución para nombres de archivos, de
ventanas, etc. Cuando VFP espera un nombre, lo mejor es utilizar una
expresión de nombre, es decir, poner la variable entre paréntesis.

la razón es la siguiente:

lcFic="c:\mis proyectos\datos\miTabla.dbf"

USE &lcFic IN 0 SHARED
es equivalente a:
USE c:\mis proyectos\datos\miTabla.dbf IN 0 SHARED
donde
USE c:\mis
es un error, VFP interpreta c:\mis como el nombre de la tabla, a causa del
espacio en blanco.

lo correcto es
USE &lcFic IN 0 SHARED
que VFP interpreta como
USE "c:\mis proyectos\datos\miTabla.dbf" IN 0 SHARED

Finalmente, tampoco es bueno abusar de la macrosustitución, por que hay
situaciones en las cuales es muy lenta. Es una excelente herramienta de VFP,
pero es mejor utilizarla con cuidado.

Saludos

Germán Giraldo



"Eduardo Castellano" escribió en el mensaje
news:
Saludos a :

Siempre, y cuando digo siempre es siempre, hasta hoy, he utilizado este
código para abrir tablas:

LOCAL l_fic
l_fic=oEntorno.Ruta+'plt.dbf'
USE &l_fic IN 0 SHARED

Hoy he probado un ejecutable hecho con vfp9 (es el primer proyecto nuevo
en vfp90), en una máquina limpia (recien instalado XPPSP1) y no he tenido
más remedio que cambiar mi código por:

USE (l_fic) IN 0 SHARED

En el ordenador en el que desarrollo no me dá ningun problema, pero la
prueba falla.
Me preocupa porque utilizo con mucha frcuencia la sustitución por macro y
no se que va ha ocurrir con todo mi código.

¿Se trata de un bug del vfp9?
¿Alguie ha observado algo parecido?
¿Alguna idea?

Gracias


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similares