Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Eliminar Alias (https://www.clubdelphi.com/foros/showthread.php?t=31472)

Colgueit 09-05-2006 11:46:52

Eliminar Alias
 
Buenas,

He creado una aplicación que se instala con installshield y el problema esta en que si desinstalo la aplicación el Alias no se elimina del BDE y si por ejemplo voy a instalar otra vez la aplicación y cambio la ruta de instalación el path del alias no se modifica y se queda con el path antiguo, dandome logicamente error.

Por tanto tengo dos opciones:

1)Que al instalar modifique la ruta del alias ya creado (no tengo ni idea de como hacerlo)

2)Que al desisntalar la aplicación se borre el Alias del BDE (ya que cuando desistalo el desistalador que hago con installshield no lo hace), y asi cuando vuelva a instalar se instale correctamente.
Creo que esta sería la opción mejor y a la vez más sencilla. Pero no se como hacer ésto.

Gracias por anticipado.

waltergomez 09-05-2006 16:08:23

Tenes una tercera opcion: Generar el Alias en el codigo
Mira la ayuda de Delphi "Working with BDE aliases".
Sugerencia: Cuando puedas deja el DBE.

Saludos,

Colgueit 09-05-2006 16:30:43

Con respecto a la sugerencia, ya me he dado cuenta que por ejemplo usar Interbase es mejor, pero para este programa ya es tarde para cambiar, en el próximo lo tendre en cuenta.

Y con respecto a la opcion que dices de crear el alias en el codigo ya la probé y no me sirve , ya que si el alias esta creado con anterioridad no me cambia al path nuevo, sigue con el path antiguo, por eso lo q necesito es alguna forma de modificar el path del alias o eliminar el alias que lo haga al realizar la instalacion con istallshield.

Gracias de todas formas, seguire investigando :rolleyes:

noshy 09-05-2006 16:42:57

Cambio de Path
 
Desde el codigo, verifica en los REgistros de Windows si ya esta creado el Alias y si esta cambia el valor de la cadena, lo puedes hacer eliminado la cadena y volviendola a crear.

A mi me sirvio. Si encuentro el Codigo te lo mando.

Espero te sirva.

Colgueit 09-05-2006 16:51:45

Sí, mas o menos eso es lo que necesito, lo que no se es modificar el registro para cambiar la ruta del alias. Vale si encuentras el código me lo mandas, muchas gracias :) .

Chauu

noshy 09-05-2006 17:14:17

Funciones
 
Primero te fijas si existe el valor y si existe los puedes borrar o renombrar con estas funciones:

function DeleteValue(const Name: String): Boolean; //Borra Valor
function DeleteKey(const Key: String): Boolean; // Borra Key
procedure RenameValue(const OldName, NewName: String); //Cambia Valor

Espero que te sirva.

Colgueit 09-05-2006 17:58:37

Conseguido
 
Antetodo Gracias.

Ya lo he conseguido y lo he hecho así:
1)Si el alias esta creado y el path es correcto pues no hago nada.
2)Si el alias no esta creado, o esta creado pero el path es incorrecto hago esto:
Código Delphi [-]
if Session.IsAlias('NombreAlias') then
          Session.DeleteAlias('NombreAlias');
Session.AddStandardAlias('NombreAlias', 'Path', 'PARADOX');
Session.SaveConfigFile;

Gracias, Saludos.


La franja horaria es GMT +2. Ahora son las 18:45:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi