Ir al contenido


Foto

[RESUELTO] Problema con aplicacion de escritorio


  • Por favor identifícate para responder
10 respuestas en este tema

#1 jacapu

jacapu

    Member

  • Miembros
  • PipPip
  • 44 mensajes

Escrito 09 enero 2010 - 05:40

Hola a todos, tengo 2 problemas con una aplicacion de Bases de datos Paradox desde la que abro otra aplicacion tambien de bases de datos Paradox:
1- Cuando se produce un Key Violation intento reparar la tabla usando el metodo Empty de TTable, pero no funciona y tengo que salir e ir al DataBaseDesktop para vaciarla desde alli con el metodo Empty. Mi pregunta es: Son diferentes los metodos de cada programa?. Que solucion hay?.
2- Al compilar la aplicacion desde Delphi7 aparece un mensaje de error diciendo que no hay memoria suficiente para ejecutar la aplicacion, indicando a veces el nombre de una tabla de las usadas en el programa. Si voy al DataBasDesktop a ver la tabla en cuestion está vacía. Sin embargo, al lanzar el programa desde el escritorio corre perfectamente hasta que abro la segunda aplicacion. Aparece un mensaje diciendo que hay error en el DBengine.
  • 0

#2 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 10 enero 2010 - 03:44

Saludos, para comenzar me gustaria saber si estas realizando la conexion con un tsesion apuntando a un mismo  netdir.

Al respecto de lo del keyviolation estas capturandolo con una exception? Estas trabajando con cache update?

Si puedes colocar trozos de codigo de donde te da problemas podremos ayudarte mejor
  • 0

#3 jacapu

jacapu

    Member

  • Miembros
  • PipPip
  • 44 mensajes

Escrito 11 enero 2010 - 10:01

En la aplicacion inicial uso un componente ActiveX (Vecad) de graficos vectoriales.
En las aplicaciones que abro desde la aplicacion inicial tambien uso este control ActiveX.
Cuando el programa inicial era de menos tamaño no habia ningun problema. Al ir creciendo el programa inicial  usando mas tablas e incorporando mas opciones es cuando se bloquea.  El codigo de error qie aparece es $2501, creo que esta relacionado con la memoria del motor del BDE. Lo que no se es como configurar la memoria del BDE para ampliarla. Seguramente el problema es debido a que necesito usar muchas tablas al mismo tiempo, pues el ejecutable pesa mas de 6 megas. No aprece ningun problema relacionado con el control ActiveX, todos los mensajes de error se refieren al BDE. Los programas secundarios, si los abro independientemente no dan problemas, El problema surge cuando los abro desde la aplicacion principal. He hecho una prueba con un programa paralelo vacio, (sin dialogos), solo con las opciones de menu para abrir los programas secundarios y los abre bien.
Gracias por responder.
Saludos
  • 0

#4 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 11 enero 2010 - 10:17

nos estamos enredando, vamos pregunta por pregunta, tu dices que tienes un problema con el keyviolation, prueba ejecutar un table1.cancel cuando captures la excepción.

Con respecto al error de memoria has probado filtrar un poco los registros en cada apertura para reducir la cantidad de memoria necesitada?


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.261 mensajes
  • LocationMéxico

Escrito 11 enero 2010 - 10:28

Además de que debes de revisar otro puntos como lo indica eduarcol, puedes incrementar la cantidad de memoria compartida en el Administrador del BDE.

Salud Os

  • 0

#6 jacapu

jacapu

    Member

  • Miembros
  • PipPip
  • 44 mensajes

Escrito 11 enero 2010 - 03:55

Cómo aumento la memoria , pues necesito tener unas cuantas tablas abiertas para gestionar la informacion,
Saludos
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 11 enero 2010 - 04:15

pues digitandolo directamente como indica la imagen de egostar, prueba colocando un valor 4096.

Saludos.
  • 0

#8 jacapu

jacapu

    Member

  • Miembros
  • PipPip
  • 44 mensajes

Escrito 13 enero 2010 - 05:06

Muchisimas gracias, problema resuelto.
Se puede ampliar aum mas la memoria del BDE?. Lo digo por si me hiciera falta.
Gracias.
  • 0

#9 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 13 enero 2010 - 06:24

Saludos.

Me alegra ver que hayas podido resolver, solo que me quedo sin respuesta para la mayoría de las situaciones que presentaste, entiendo que falto un poco más de explicación para saber bien que quieres realizar.

A veces esos Key Violation viene de que Paradox para ciertos métodos necesita que se abra(n) la(s) tabla(s) en modo exclusivo para su ejecución.

Tengo mucho tiempo que no uso el BDE, pero supongo que se puede ampliar más la memoria en la misma proporción que ya hiciste.

P.D. Como esta resuelto lo pasare a resuelto.
  • 0

#10 jacapu

jacapu

    Member

  • Miembros
  • PipPip
  • 44 mensajes

Escrito 29 abril 2010 - 03:26

Y con el tema del metodo EmptyTable, puedes ayudarme?
Saludos.
  • 0

#11 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 30 abril 2010 - 08:13

Y con el tema del metodo EmptyTable, puedes ayudarme?
Saludos.


Saludos.

Jacapu disculpa, pero crea otro hilo con la referencia nueva sobre lo que andas buscando, recuerda que ya marcaste este hilo como resuelto.  Entiendo que es otro asunto que no esta relacionado con el original.

Gracias nuevamente y disculpa.
  • 0