 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Marco_ Invitado
|
Publicado: Mar 29 Mar, 2005 12:18 pm Asunto: Generar ejecutable en Builder |
|
|
Quiero ejecutar mi programa hecho en C++ Builder con una base de datos realizada en Interbase en otro ordenador distinto al mío, tengo en principio dos problemas:
1) Que opciones le pongo a la hora de compilar para que me incluya todas las librerias para poder ejecutarlo en otro ordenador
2)Uso IBDatabases, y utilizo rutas relativas de mi máquina, supongo que esto no me sirve como hago para indicar rutas absolutas y evitar este problema.
Muchas gracias. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 29 Mar, 2005 5:51 pm Asunto: Re: Generar ejecutable en Builder |
|
|
| Marco_ escribió: | | 1) Que opciones le pongo a la hora de compilar para que me incluya todas las librerias para poder ejecutarlo en otro ordenador |
Resp: entra en la parte de Project Options: y desactiva las siguientes, expesificaciones
Linker: Use Dynamic RTL
Packages: Build with run time packages
vueleves a compilar y listo
esto es para que te incluya todas las librerias que necesitas, en tu proyecto
| Marco_ escribió: | | 2)Uso IBDatabases, y utilizo rutas relativas de mi máquina, supongo que esto no me sirve como hago para indicar rutas absolutas y evitar este problema. |
Resp: en estos casos, es recomendable, hacer un programa que funcione como demonio. en el cual puedas registrar las rutas de las bases de datos, como supongo, tienes tus bases, en una maquina que usas como servidor, y quieres acceder a ella desde otras, bien, para ello, crea un programa, donde registres las rutas, de tus bases (algo repetitivo, jej e), que puedes guardarlo en un archivo ini, despues de eso, dentro de ese mismo programa, usa un TWinsocketServer, para que este escuchando, te aconsejo los puertos, arriba del 14000, y usas dentro de tus aplicaciones clientes, un TWinsocketClient, para que cuando desde el cliente te conectes a la direccion, del servidor, este te envien de manera de respuesta, las rutas de los archivos de bases de datos que existen, dentro de ese servidor,
en algun momento realice, un proyecto similar, ya que era para Interbase-Firebird, y como ellos no te detectan la ruta, de las bases en las que estas, tuve que hacerlo manual, es decir si las muestran, pero hasta que estes conectado... y pues como te conectas si no sabes donde esta la ruta..
Saludos, espero haber sido claro.. _________________
 |
|
| Volver arriba |
|
 |
Marco_ Invitado
|
Publicado: Mar 29 Mar, 2005 6:17 pm Asunto: |
|
|
Gracias, por tu respuesta te explico, no me conecto a ninguna base de datos remota, uso el interbase y tengo la base de datos local instalada en mi computadora.
Y respecto al primer punto utilizo el C++ Builder 6.0 y aldeshabilitar esas dos opciones me salta una excepción, en la fase de linkado, concretamente en el _ios.c, así que no se porque se da este error, un saludo, muy amable. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 29 Mar, 2005 7:25 pm Asunto: |
|
|
yo uso la misma version y no me aparece ningun error, checa si tienes instalado algun componente, a parte de los que trae el builder, puede ser eso..
2.- para sacar la ruta de tus bases, puedes usar lo siguiente..
| Código: | AnsiString Ruta = ExtractFilePath(Application->ExeName); //directorio de tu programa |
y luego puedes agregarle la ruta de tus bases
| Código: | Ruta = Ruta + "TU_DIRECTORIO\\TU_BASE.GDB"; |
_________________
 |
|
| Volver arriba |
|
 |
Marco_ Invitado
|
Publicado: Mar 29 Mar, 2005 7:32 pm Asunto: |
|
|
| Con respecto al código que me indica del AnsiString Ruta en donde lo agrego? |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 29 Mar, 2005 7:55 pm Asunto: |
|
|
al parecer, no has leido la ayuda del componente, cada uno de los componententes DataSet tienen una propidad AnsiString llamada DatabaseName
| Código: | Tu_Componente_DataSet->DatabaseName = Ruta; |
_________________
 |
|
| Volver arriba |
|
 |
Marco_ Invitado
|
Publicado: Mie 30 Mar, 2005 11:04 am Asunto: |
|
|
Perdone, pero me refiero en que función o parte del código lo agrego?
OnCreateForm o en donde? |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 30 Mar, 2005 5:59 pm Asunto: |
|
|
Debo asumir que tienes un data module o un Form Principal, mis preguntas, son:
1.- cuando habres tu base?,
2.- en que momento de tu programa habres la base?
oviamente es en un OnCreate, en cual, puede ser en el Form Prinicpal
o en el DataModule, es decir, en fin, tu sabes cuando abrir tu base y en que form.
yo puedo decirte al final de tu programa en el evento OnDestroy, pero no se si eso te convenga.. (jej e)
Eso depende mas del Desarrollador del Software y no de los componentes, imersos en tu aplicacion..
saludos..
pd: OnCreate es una buena opcion.. _________________
 |
|
| Volver arriba |
|
 |
Marco_ Invitado
|
Publicado: Mie 30 Mar, 2005 6:08 pm Asunto: |
|
|
| Pues abro la base de datos para realizar las típicas operaciones de inserción, borrado, modificación..., cuando el usuario realiza alguna operación, por eso que en el evento OnCreate se me había ocurrido como una posible opción, pero no se si será el mejor lugar. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 30 Mar, 2005 6:24 pm Asunto: |
|
|
Eso tienes que definirlo, TU como creador del programa. y no aqui, en el foro.. ya que todos te van a contestar similiarmente a lo que te he dicho..
si tus tablas de la base, las usas, desde el principio, entonces habrela desde el principio..
si las usas al final pues abrelas la final
en fin TU MISMO, sabes donde debes abrir tu base, para empezar a utilizar los datos..
por lo que veo, empiezas a manejar base de datos y estas aprendiendo.. bien, por lo que dices, o lo que pides, debes tener conocimiento de las bases de interbase a un 60%, para que identifiques, en donde y cuando, debes usar las opciones de Builder
saludos, dentro del foro, en la opcion buscar existen varios enlaces, que responden a tus preguntas.. _________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|