![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() Hola!!, este problema, basicamente, lo he visto en el foro pero no con esta variante. He conseguido que cuando se cierra el quickreport con el boton Close que incorpora se me cierra todo estupendamente, peeeeeeero si se le da al boton de cerrar estandar de windows, la X de la esquina derecha de todos los formularios, ME DAN TODO TIPO DE ERRORES.
Es un quickreport que saco a pelo, sin meter dentro de ningun form, los datos los obtengo de una IBquery, los listados que saco pueden tener cienes y cienes de paginas, facilmente. Utilizo Delphi 6 y por si acaso me he actualizado a la version 3.5.1 de Quickreport, pero nada. Paso a describir como tengo estructurado el listado: informe.IBqryListados.Prepare; informe.IBqryListados.Open; informe.IBqryListados.FetchAll; if imprimir = True then informe.Print else informe.PreviewModal; informe.IBqryListados.Close; informe.IBqryListados.UnPrepare; application.ProcessMessages; informe.Free; Close; Por que el resultado es distinto si se le da a Close o a la X ? Como podria evitar los Access Violation ? Gracias |
#2
|
|||
|
|||
No estoy del todo lúcido así que es muy probable que esté equivocado, pero ¿no estas haciendo un free y luego un close verdad?
Lo mejor en este caso es ejecutar línea por línea para ver en que parte te tira el error.
__________________
Suerte .: Gydba :. |
#3
|
|||
|
|||
![]() Gracias por responder, pero no, el close que se ve al final es el que cierra un formulario donde se filtran los datos que llevará el quickreport y que es el que llama al quickreport. He seguido la ejecucion paso a paso pero el error me lo da al final, cuando termina la ejecucion...
|
#4
|
||||
|
||||
Has actualizado tu versión de Quick Report.... el que venía con Delphi3 y con Delphi4 solia tener algunos bugs...
http://www.qusoft.com/ Si no haces nada raro.. como aseguras, pue'que con eso se arregle. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Si, como ya he dicho antes, tenia delphi 6 con quickreport 3.0 y actualicé a 3.5 pero sigue fallando
|
#6
|
||||
|
||||
Yo hago esto que sigue y nunca me hada ningún tipo de problema.
Código:
procedure TfrLstAgenda.FormClose(Sender: TObject; var Action: TCloseAction); begin Application.ProcessMessages; FreeAndNil(ListaAgenda); Action:=CaFree; end; procedure TfrConAgenda.SpVpreviaClick(Sender: TObject); begin Application.CreateForm(TfrlstAgenda, frlstAgenda); frlstAgenda.listaAgenda.Preview; frlstAgenda.Close; end;
__________________
Guía de Estilo de los Foros Cita:
![]() |
#7
|
|||
|
|||
Justamente pensaba en un close como el que plantea marcoszorrilla, pero se me adelantó
![]() Deberías revisar bien el código, me parece que el problema viene dado por una clase que o bien fue liberada o nunca se instanció y se hace referencia. Lo extraño es eso de que ejecutando un close te anda perfecto ![]()
__________________
Suerte .: Gydba :. |
![]() |
|
|
![]() |
|