Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   error (https://www.clubdelphi.com/foros/showthread.php?t=91809)

vankul 03-05-2017 23:12:55

error
 
Hola qué hay.
Verán utilizo el siguiente código en c++ builder, me funciona bien en el ordenador donde programo pero al trasladar el programa a otro ordenador me dice que no encuentra la base de datos y resulta que está en mismo directorio que el programa. He buscado por internet y he mirado algunos ejemplos y así debería funcionar pero no lo hace.
Código:

const AnsiString DataBaseFileName = "\socis.abs";
Código:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ABSDatabase1->DatabaseFileName = ExtractFilePath(Application->ExeName) + DataBaseFileName;
    ABSDatabase1->Open();
    ABSQuery1->Close();
    ABSQuery1->Open();
}

Alguna idea?
Gracias.

Casimiro Notevi 03-05-2017 23:41:12

Bienvenido a clubdelphi, por favor, para otra ocasión no olvides poner títulos descriptivos a tus preguntas: "error" no describe nada.
Aparentemente, deberás declarar la ruta a la base de datos, ya que si pones \socis.abs la buscará en el directorio raíz, no en donde está el ejecutable.

vankul 03-05-2017 23:50:14

Ok, gracias pero sigue sin funcionar

Casimiro Notevi 03-05-2017 23:52:25

Cita:

Empezado por vankul (Mensaje 516220)
Ok, gracias pero sigue sin funcionar

Mejor lee antes nuestra guía de estilo.

ecfisa 04-05-2017 02:47:15

Hola.

Cita:

Empezado por vankul (Mensaje 516218)
...
Código:

const AnsiString DataBaseFileName = "\socis.abs";

Como te indica Casimiro podes omitir toda barra separadora de ruta y lo buscará en la ubicación del ejecutable, o indicar correctamente la ubicación del archivo en la unidad que corresponda.

Pero recuerda que la barra invertida dentro de una cadena (el separador de ruta en este caso) le indica a C++ que lo que sigue a continuación no es un caracter especial y debe ser interpretado de forma literal.

Tomando en cuenta lo anterior, la asignación previa debería haber sido:
Código:

const AnsiString DataBaseFileName = "\\socis.abs";
Saludos :)

vankul 04-05-2017 20:57:10

Ok, gracias.


La franja horaria es GMT +2. Ahora son las 12:08:41.

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