Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error al cerrar tabla (https://www.clubdelphi.com/foros/showthread.php?t=38105)

juanjosesch 02-12-2006 23:32:50

Error al cerrar tabla
 
Tengo una aplicación hecha con varias tablas conectadas a una database con un alias temporal.
La plicación funciona perfectamente, pero cuando queiro cerrar alguna tabla me manda una "access violation" en una dirección de memoria, esto en proceso de debugger, en ejecución, directamente se cierra la aplicación.
Alguien tiene una idea de la causa de este problema?

Bicho 02-12-2006 23:56:57

Hola juanjosesch, bienvenido al clubdelphi, te recomiendo que te leas la guía de estilo
Para que podamos ayudarte debes darnos más información, como por ejemplo que base de datos estas usando, que versión de Delphi, que componentes de conexión a datos usas y por supuesto en tu caso, el trozo de código que te da el problema.

Saludos y bienvenido nuevamente

juanjosesch 03-12-2006 00:07:50

Error al cerrar una tabla
 
Bicho, gracias por responder tan rápido, y disculpar mi falta de estilo!!

Estoy usando Delphi 4

Uso dos Tdatabases y varias ttables
Creo el alias temporal con :
with Session do
begin
ConfigMode := cmSession;
try
AddStandardAlias('TEMPDB', ExtractFilePath(ParamStr(0)), 'dbase');
AddStandardAlias('TEMPDBF', ExtractFilePath(ParamStr(1)), 'foxpro');
finally
ConfigMode := cmAll;
end;

database1.aliasname:= 'TEMPDB';
database2.aliasname:= 'TEMPDBF';
A continuación abro y opero todas las tablas sin problemas pero cuando mando
TableXX.close. , se presenta "access violation" al deburgear o se cierra el programa en ejecución

Gracias por anticipado por tu gentil ayuda¡¡

Crandel 03-12-2006 01:08:17

Hola Juan, este tipo de errores no son tan facil de encontrar dado que el no se producen donde salta el error, pero si sugieren una pista.

Un error del tipo "access violation" indica que estan intentando acceder a una posición de memoria invalida, por lo que haria suponer que al hacer tu TableXX.close estas intentando de cerrar una tabla que ya fue destruida.

juanjosesch 03-12-2006 01:44:32

RE: Error al cerrar tabla
 
Hola amigo Crandel, gracias por preocuparte de mi problema.

Resulta que, en realidad la intrucción es:

if tablexx.active = true then
tablexx.close.


De lo cual se desprende que la tabla no fue destruída y está activa.

Disculpa por no haberlo aclarado en el anterior, y gracias nuevamente por tu respuesta.

nemesio 03-12-2006 02:15:05

Hola

Puedes tambien ejecutar tu programa en "debugger", es decir línea por linea para que puedas ver que lienea específica te lanza la excepción.

Saludos


La franja horaria es GMT +2. Ahora son las 22:55:44.

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