PDA

Ver la Versión Completa : Error al compilar. Exception EBDEngineError


Mathom
25-11-2005, 23:35:54
Hola de nuevo, me aparece un error al intentar compilar la aplicación y no tengo la remota idea a que se debe, ya que se que está relacionado con el BDE pero como esplicaré a continuación, creo haber creado el Alias adecuadamente. Vamos allá.

El error que me da es el siguiente:

Exception EDBEEngineError in Module HS.exe at 000D1FB6. Invalid Directory. Dyrectory: E:\webs\Hotels\delphi\Projecte def

Bien, resulta que estaba haciendo la aplicación y la tenía en el directorio en el cual da el error (las tablas también en este directorio). Lo he cambiado a otro "C:\Archivos de programa\HgStock". Ahora al ejecutar me da el error mencionado. Creí que era por las tablas y cree un Alias y enlacé las tablas. Aquellas que son tablas normales no hay problema pero la aplicación se detiene al intentar crear un DataModule en el cual hay 2 Datasources y 2 tablas (relación maestro - detalle).

He llegado a borrar los datasources y las tabals y volverlas a crear pero me sigue buscando:( algo en el directorio en el cual empecé a hacer la aplicación , o sea, en "E:\webs\Hotels\delphi\Projecte def". También he pensado que era la ralación de una tabla con la otra lo que no encuentra por lo que he vuelto a crearla pero nada de nada:mad:.

Por favor, si alguien tiene idea de a que se debe este error que me eche una manita. Os estaré eternamente agradecidos pues mañana tengo que ir a enseñar como va el tema y cuando creía que todo funcionaba aparece esto.

Cualquier comentario es bueno...

jlmelida
26-11-2005, 00:34:36
Borra TODOS los ficheros del tipo BDESCxxx, que se forman en el directorio donde se ejecuta la aplicación y prueba otra vez.

Mathom
26-11-2005, 01:47:53
No se a que tipo de archivos te refeieres con BDESCxxx. Los únicos que tengo son del tipo:
DB, PX, VAL, XG0, YG0, TV, FAM, INI, X02, Y02 y LCK

Gracias por tu ayuda...

jlmelida
26-11-2005, 09:32:56
No se exactamente que es lo que te pasa. La BDE crea unos ficheros compilados con intrucciones para acceder a las tablas a traves de él. Estos te aparecen en el directorio donde esta tu aplicación y son de la forma BDESC003, BDESC140, etc. Vistos con el explorador de windows, en el tipo ( la extensión) te tiene que salir 'windows explorer command'. Son los que debes borrar.

Muchas veces, al cambiar algo, como en tu caso el path, delphi compila y enlaza bien, pero la BDE, no se "ha dado cuenta" del cambio y sigue empeñada en redigir las ordenes de Delphi al sitio antiguo. Este podría ser tu caso.

De lo que dices, se deduce que todo funciona bien, es decir, la aplicación si accede a las tablas, salvo a alguna, que es donde da error. ¿ Es cierto ?

Si es así, debemos descartar un problema de alias. Los tendras bien definidos con el SQLExplorer.

Necesitaría saber que base de datos usas, donde esta colocada ( entorno de red o no) y como se crea ( en tiempo de ejecución o antes). Si usas bases de datos tipo Oracle, Microsoft o Interbase, hay que ver los permisos que asigna el servidor, etc.

Saludos.

Mathom
26-11-2005, 10:49:52
De nuevo, gracias por el interés. Empiezo a estar nerviosillo. De hecho etoy por hacer un nuevo DataModule en el que esten de nuevo las dos tablas maestro - detalle a ver si así funciona.


Las tablas las he hecho con el Database Desktop. Tengo Windows XP, la versión 7 de Delphi...estensión de las tablas .db (paradox), en un puesto local (antes lo tenía en un segundo disco duro (E y ahora lo he pasado a C: y el error me salta cuando crea el DataModule 16 que es en el que están los dos datasources y las dos tablas (pedido - detalle). En el delphi las tablas me sacan los resultados por lo que me hace pensar que el problema viene al intentar ejecutar la relación entre ambas (que la busca en E. Las tablas de Proveedores, artículos y departamentos las ejecuta sin problemas.

Con lo de los permisos no se exactamente a que te refieres. Si puedes echarme una mano genial, yo mientras tanto voy a volver a crearlo todo de nuevo pues debo ir a presentar lo que llevo de aplicación de aquí 1 hora u hora y media...y debo tenerlo como sea.

Muchas gracias...

Mathom
26-11-2005, 10:57:15
Respecto a los archivos...

La BDE crea unos ficheros compilados con intrucciones para acceder a las tablas a traves de él. Estos te aparecen en el directorio donde esta tu aplicación y son de la forma BDESC003, BDESC140, etc. Vistos con el explorador de windows, en el tipo ( la extensión) te tiene que salir 'windows explorer command'. Son los que debes borrar.

No veo ningín archivo de ese tipo... ahora mismo los estoy buscando con Inicio - Buscar a ver si estuviesen por error en otra carpeta....

Mathom
26-11-2005, 11:30:49
Nada de nada, he eliminado todos los formularios en los cuales se apraba la ejecución del programa y he vuelto a crear los datamodules. Lo curioso es que en tiempo de diseño se conecta a las tablas, se ven los resultados.

Puede ser la configuración del BDE?? Tengo que poner algo en COnfiguaración del BDE, algo en los DSN? antes me funcionaba tal como lo tenía.

Y de los archivos que me comentas nada de nada..

Mathom
26-11-2005, 11:41:30
:DSOLUCIONADO!!!:D

Para matarme....bien, te explico....aunque me matarás tu. El problema estaba en que buscaba algo en el directorio donde estaba instalado antes, no??? por lo que algo tenía que estar haciendo referencia a ese directorio. Pues bien, ya lo he encontrado. Resulta que tenía un datamodule añadido al proyecto (que no tengo ni idea de donde ha salido) cuya tabla hace referencia a dicho directorio.

Vamos que he creado 8 alias, 5 datamodules, he eliminado y aañadido formularios, configurado 3 veces el BDE...y no se cuantas cosas más. Resumiendo que he estado 6 horas y media intentando solyucionar algo que no sabía ni que estaba..triste...muy triste.

Muchas, muchisimas gracias por tu ayuda jlmelida y siento haberte hecho perder el tiempo.

Un saludo

jlmelida
27-11-2005, 19:09:46
Enhorabuena por haber resuelto el problema. Esto pasa muchas veces. Cualquier pequeñez nos tiene varias horas cavilando.

Los ficheros que te decía son intrucciones SQL compiladas que crea el BDE. Esto solo pasa si usas sistemas basados en SQL como Interbase, Oracle o SQL Server.

Al decirme que te pasaba solo con unas tablas, pensé que pudiera ser eso, ya que algunas modificaciones no se borran y el sistema sigue usando las mismas.

Desde luego estos ficheros no existen si se trata de tablas "planas" tales como Paradox o DBase.

Por cierto, olvidate en cuanto puedas de Paradox y similares. Las aplicaciones ganan en integridad cuando usas un verdadero gestor de base de datos.

Saludos: