Page 1 of 1

Problemas de cadenas y con macros y con USE()

Posted: Thu Aug 24, 2006 2:28 am
by busmatic
Hola Amigos

Emigrando mis programas a FWH me he encontrado con un comportanmiento estrañó con el uso de cadenas compuestas con una macro, esta las uso para formar un nombre de archivo con su respectivo
mapeo, pondre un ejemplo..

cCedena0:="1" && lleva un indice caracter que viene segun proceso anterior

cCadena1:=cPathFinal+"\L+"&cCadena0"+".Pre"

Todo hasta aqui trabaja bien en FW24, y aun en FWH27, pero el problema viene cuando..

USE (cCadena1) Alias cArchivo

ME da error

DBFCDX\1001 open error c:\proyectos\boleteria\bin\dat

tan es asi que no llega a dar el error completo

Si le escribo el aun asi
cCadena1:="C:\PROYECTOS\BOLETERIA\BIN\DATA\L1.PRE"

USE (cCadena1) Alias cArchivo

Arroja el mismo error, le he puesto &(cCadena1) por todas las maneras que conozco y me da el mismo el error , pero si le escribo el path directo no hay problemas.

Habra una manera diferente en FWH27 al emigrar

Gracias
Busmatic de Costa Rica
.

Posted: Thu Aug 24, 2006 7:49 am
by Antonio Linares
Puede tratarse de un error de tratamiento de macros del build de Harbour/xHarbour que estés usando. Ultimamente se han corregido algunas cosas con las macros.

De todas formas, el mejor consejo es que intentes evitar el uso de las macros. Tu código puede cambiarse a:

cCadena1:=cPathFinal+"\L"+cCadena0+".Pre"
USE (cCadena1) Alias cArchivo

Errorcillo pequeño.

Posted: Fri Aug 25, 2006 4:25 pm
by fleal
Por lo que veo, estás tratando de abrir una dbf con indices. ¿Cierto?
Tu EXE está en un directorio diferente y tiene que accesar a ésta dbf.
¿Cierto?

Si lo anterior es correcto entonces tu estás indexando al estilo

INDEX CLIENTES->CODIGO TAG CLIENTES.

Para que no marque el open error, solo hay que cambiar la forma de indexar sin usar el Alias

FIELDS, CODIGO, Otros_Campos

INDEX CODIGO TAG CLIENTES