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
.
Problemas de cadenas y con macros y con USE()
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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
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.
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
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