Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2004
Avatar de Aura
Aura Aura is offline
Miembro
 
Registrado: mar 2004
Ubicación: Veracruz, Ver., México
Posts: 43
Poder: 0
Aura Va por buen camino
Unhappy Consulta en TQuerys usando dos tablas

Hola, mi problema es el siguiente: Tengo mi aplicacion hecha en Delphi 6 y para las consultas utilizo TQuerys, y realmente me funcionan bien, el problema esta que algunas de las consultas utilizo dos tablas es decir:

Select
TCompraGral.id_compragral, TCompraGral.TotalFinal, TCompraGral.NumFactura, TCompraGral.MontoFactura, TProveedores.NombreComercial
from TCompraGral, TProveedores
where
TCompraGral.Id_Proveedor = TProveedores.Id_Proveedor AND
TCompraGral.EstatusFactura = 'PP' AND TCompraGral.Estatus = 'RV' AND NumFactura = '----'

y es en estas consultas donde me marca error mi aplicacion, no se si me explico correctamente; al hacer yo mi consulta me muestra todos los datos que pido, cierro mi ventana y todo va muy bien sin embargo al cerrar la aplicacion me marca error. Mis formas son child y ya intente cerrar los querys, porner el Active en false y utilizar el free, aun asi marca error el cual es el siguiente:

'Access violation at address 00000000. Read of address 00000000'

realmente espero que alguien me pueda ayudar... mil gracias por su tiempo y atención.

Responder Con Cita
  #2  
Antiguo 01-04-2004
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.933
Poder: 27
delphi.com.ar Va por buen camino
Dudo que el problema sea que la consulta utilice dos tablas, esta es una práctima muy normal.
Tu problema seguramente es al cerrar la aplicación... ¿Qué estas haciendo en este momento?
__________________
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 01-04-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
A simple vista, no creo que las consultas tengan nada que ver con el fallo, porque no revisas a ver si tienes alguna referencia a un componente que ya no existe o nunca existio por ahí pienso pueda venir el fallo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 01-04-2004
Avatar de Aura
Aura Aura is offline
Miembro
 
Registrado: mar 2004
Ubicación: Veracruz, Ver., México
Posts: 43
Poder: 0
Aura Va por buen camino
... lo único que realizo en el boton salir de mi aplicacion es el siguiente código,

if FPrincipal.MDIChildCount= 0 then
application.Terminate
else
showmessage('Cierre la ventana que tiene activa');
y el problema o lo que mas me intriga y me hace pensar que es el query es porque con otras ventanas no sucede incluso con otras que tambien son de consulta pero que por cada TQuery solo utilizan una tabla no dos.
muhas gracias....espero no ser muy insistente pero ya no se que hacer.
Responder Con Cita
  #5  
Antiguo 01-04-2004
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.933
Poder: 27
delphi.com.ar Va por buen camino
¿Y pones algo en el OnDestroy de formularios / controles que aún no se han eliminado?

PD: ¿Tienes claro que es un Access Violation?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 01-04-2004
Avatar de Aura
Aura Aura is offline
Miembro
 
Registrado: mar 2004
Ubicación: Veracruz, Ver., México
Posts: 43
Poder: 0
Aura Va por buen camino
hola delphi.com.ar, bueno yo mis formularios los creo y destruyo conforme el usuario los necesite es decir, no puedo abrir dos formularios independientes al mismo tiempo incluso no puedo cerrar mi aplicación si tengo formularios abiertos, aun asi contestando tu primer punto ondestroy no tengo codifo pero si en onclose es alli donde destruyo mis formularios. Y con respencto a tu segundo punto ralmente no tengo muy en claro de que se trate, segun he visto ese error es marcado cuando no encuentra algun archivo, pero realmente no lo se
gracias....
Responder Con Cita
  #7  
Antiguo 01-04-2004
Avatar de Aura
Aura Aura is offline
Miembro
 
Registrado: mar 2004
Ubicación: Veracruz, Ver., México
Posts: 43
Poder: 0
Aura Va por buen camino
hola roman, si manejo como tu mencionas mis formularios, utilizando el CaFree, y si el address es 0, gracias.
Responder Con Cita
  #8  
Antiguo 01-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Las consultas problemáticas las realizas en un formulario aparte?
De ser así, ¿dicho formulario se libera al momento o hasta que termina la aplicación?
Si es lo último intenta liberarlo al momento de cerrarlo (evento OnClose, Action := caFree) para tratar de que la excepción salte desde antes y no al término de la aplicación. Esto no ayudará directamente a saber qué es lo que pasa pero sí a acotar el problema de forma que sea más fácil tratar de localizarlo.

Por otra parte, en el mensaje de error

'Access violation at address 00000000. Read of address 00000000'


¿la dirección (address) realmente es 0 o tiene otro valor?

Si es lo último apúntalo y antes de cerrar el mensaje pásate al IDE de Delphi, oprime Pausa y usa la opción Search|Find Error para tratar de que te lleve al punto donde se está produciendo la excepción. Pasa a veces que algunos errores causados por referenciar objetos ya destruidos se generan cuando el sistema de excepciones ya cerró y por ello el "debugger" no puede localizar directamente la línea.

// Saludos
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 14:59:14.


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