Cambiar DCT en aplicacion de un path a otro
Osvaldo
Yo no se cual es tu necesidad. Te comento como hago yo para en un dct poder cambiar el path y usar el miso app.
Ejemplo:
tengo la carpeta donde tengo el app, el dct y el exe y dentro de esa carpeta tengo dos o mas carpetas donde tengo los archivos de cada una de las empresas y tengo una mas donde tengo los archivos compartidos. Como los tipos de comprobantes, Códigos Postales, Situaciones frente al iva, etc.
El path lo establecemos en Full Path Name:
para indicarle a Clarion que es una global con lo que manejamos el path hay que ponerle el signo ! primero y quedaría el
Full Path Name: !GLO:NombreComun1
imaginando que trabajo en c: la cuestión sería C:\Programa
sería:
Carpeta Programa donde tengo app dct y el exe y dentro de estas creo las diferentes carpetas.
Por lo tanto quedaría:
C:\Programa
C:\Programa\Comunes
C:\Programa\Empresa1
C:\Programa\Empresa2
En caso que trabajes en red sería
\\NombreServidor\Programa
\\NombreServidor\Programa\Comunes
\\NombreServidor\Programa\Empresa1
\\NombreServidor\Programa\Empresa2
Luego sabemos que podemos determinar el path de la siguiente manera.
Estando el exe en la carpeta programa poniendo un . (punto) al inicio del path se interpreta que la búsqueda la hará dentro de la carpeta donde está el exe
por lo tanto:
nuestro path sería:
.\Programa\Comunes
.\Programa\Empresa1
.\Programa\Empresa2
Ahora te cuento como lo soluciono yo usando variables globales y en el main según una condición cargo las globales con el path que necesito.
En los embeds:
Local Objets
ABC Objets
Windows Manager (WindowsManager)
init PROCEDURE();BYTE,VIRTUAL ! por aca comienza la ejecución de toda rutina o sea es lo 1º que hace
Antes de Open Files
! Aca coloco el código para cargar las globales
GLO:NombreComun1 = '.\Programa\Comunes\NombreComun1.TPS'
GLO:NombreComun2 = '.\Programa\Comunes\NombreComun2.TPS'
GLO:Clientes = '.\Programa\Empresa1\Clientes.TPS'
GLO:Facturas = '.\Programa\Empresa1\Facturas.TPS'
y así el resto
en caso de trabajar en red
GLO:NombreComun1 = '\\NombreServidor\Comunes\NombreComun1.TPS'
GLO:NombreComun2 = '\\NombreServidor\Comunes\NombreComun2.TPS'
GLO:Clientes = '\\NombreServidor\Empresa1\Clientes.TPS'
GLO:Facturas = '\\NombreServidor\Empresa1\Facturas.TPS'
Espero que puedas entender el ejemplo.
Avisa como te fue.
Felices Fiestas