Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2003
karlosmc karlosmc is offline
Registrado
 
Registrado: sep 2003
Posts: 6
Poder: 0
karlosmc Va por buen camino
Ejecutar programa desde cdrom

Tengo hecho un programa con Delphi 6, pero tengo la particularidad de que necesito que se ejecute desde el cdrom, sin instalar nada en el disco duro, y no consigo que me funcione. No se si hay que modificar algo en las variables de entorno, o es que no se puede hacer. Agradecería cualquier ayuda.Gracias.
Responder Con Cita
  #2  
Antiguo 02-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
No tendría que haber ningún problema, a menos que el programa intente modificar archivos del CD.
¿Qué es lo que hace tu aplicación? ¿Tienes rutas estáticas definidas en el código? ¿Qué herramientas utilizas?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 02-09-2003
karlosmc karlosmc is offline
Registrado
 
Registrado: sep 2003
Posts: 6
Poder: 0
karlosmc Va por buen camino
La aplicacion son 3 formularios que consultan a una base de datos paradox (.db), y no modifican nada.
Probé a ejecutarlos en un ordenador (desde el disco duro) que no tenia instalado el delphi, y funcionaba. También probé poniendo todos los archivos como de solo lectura, y también funcionaba.
Creo que el problema está en que escribe algún fichero temporal, y no se como hacer para que lo escriba en el disco duro en vez de en en el directorio donde está almacenado el programa.
Gracias
Responder Con Cita
  #4  
Antiguo 02-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Posteado originalmente por karlosmc
...consultan a una base de datos paradox...
Esto era lo que faltaba en tu explicación, seguramente la aplicación esté intentando crear un archivo temporal, desconozco como trabaja paradox, así que lamento no poder ayudarte.
PD: ¿Da algún error?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 02-09-2003
karlosmc karlosmc is offline
Registrado
 
Registrado: sep 2003
Posts: 6
Poder: 0
karlosmc Va por buen camino
Al ejecutarlo desde el cdrom, da un error. Dice algo así como "Project1 ha generado un error y debe reiniciarse".

Gracias de todas formas por tu ayuda. Saludos
Responder Con Cita
  #6  
Antiguo 02-09-2003
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
La cosa es que siempre cuando jala paradox te va a generar 4 archivos..
Dbdwork,paradox.lck,pdoxurs.lck y pdoxurs.net
el ultimo es el que te esta dando lata entonces lo que debes de hacer es que debes de usar un tsession y decirle que sea C:\temp si no existe que lo cree y se lo debes de poner en la propiedad del TSession en el NetFileDir

Saludos desde Puebla, Mexico
asanxt@hotmail.com
Responder Con Cita
  #7  
Antiguo 03-09-2003
karlosmc karlosmc is offline
Registrado
 
Registrado: sep 2003
Posts: 6
Poder: 0
karlosmc Va por buen camino
Hola. He probado con el objeto Tsesion, y sigue sin funcionarme. No se si lo he hecho bien. He creado el objeto Tsesion y lo he puesto como sesionname en los querys que uso.Me da un error "Exception class EDBEngineError" al inicializar el motor de bases de datos al ejecutarlo. Si quieres, te envío la aplicación y lo miras, a ver si puedes arreglarla. Gracias de todas formas.
Responder Con Cita
  #8  
Antiguo 04-09-2003
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
respondo lo mismo que en otro hilo que acaban de abrir identico a este, aunque no sé si puede ser el motivo.

No sé en el caso de paradox-bde, pero las que yo utilizaba similares a paradox DBIsam, para poder hacer esto, era necesario colocar los componentes de tablas (TTable) en tu caso a ReadOnly.

Por ciero creo que solo con las librerias del bde se generaba un archivo xxxx.lck o parecido (de eso ya hace mucho tiempo)
Responder Con Cita
  #9  
Antiguo 04-09-2003
karlosmc karlosmc is offline
Registrado
 
Registrado: sep 2003
Posts: 6
Poder: 0
karlosmc Va por buen camino
Perdona si te pregunto algo muy trivial, pero no se como hacer que las tablas sean de solo lectura.
Yo utilizo tquery asociado con datasources. No uso ttable. Puede ser ese el problema???
El caso es que ejecutandolo desde el disco duro, me funciona
Gracias por las respuestas.
Responder Con Cita
  #10  
Antiguo 04-09-2003
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
En los TTable hay una propiedad que es ReanOnly (poner true)
En los TQuery hay el equivalente que es RequestLive (poner false)

En el caso de los TQuery, ya viene por defecto RequestLive:=false, pero creo que al utilizar consultas se generan ficheros temporales.

Ignoro si hay algún parámetro de configuración del BDE para cambiar este modo de actuar, ya que hace tiempo que dejé de utilizar el BDE. De hecho tampoco podrias cambiarlo, ya que realmente no tienes instalado el BDE, sino que utiliza las librerias colocandolas en el CD con lo que no tienes una versión completa y totalmente operativa del BDE.

Te expongo una solución según se generen los ficheros

1- Los ficheros se generan en el directorio de las tablas, cuando intentas abrirlas. (no creo que sea el caso) Solución si los ficheros de las tablas son pequeños, moverlos a un directorio temporal y borrarlos al finalizar la aplicación.

2- Los ficheros se generan en el directorio donde esta la aplicación por ser el directorio de trabajo de este. (creo que es el caso y es más facil, ya que casi seguro que el ejecutable es siempre menor que el conjunto de tablas) Solución crear dos ejecutables que uno copie el segundo a un directorio temporal, lo ejecute y al finalizar lo borre.
Responder Con Cita
  #11  
Antiguo 04-09-2003
jafl1965 jafl1965 is offline
Miembro
 
Registrado: may 2003
Ubicación: Morelia, México
Posts: 170
Poder: 21
jafl1965 Va por buen camino
Quizás te sirva este ejemplo:

Session.NetFileDir := GetEnvironmentVariable('TEMP') ;
Session.PrivateDir := GetEnvironmentVariable('TEMP') ;

Esto debes ponerlo en el OnCreate de tu forma principal.

Session está en la unit DBTables.

Saludos,
Responder Con Cita
  #12  
Antiguo 16-09-2003
karlosmc karlosmc is offline
Registrado
 
Registrado: sep 2003
Posts: 6
Poder: 0
karlosmc Va por buen camino
Thumbs up

Muchas gracias a todos.
Por fin conseguí hacer que funcionase. Use el TSesion.
Un saludo y gracias.
Carlos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:29:37.


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
Copyright 1996-2007 Club Delphi