FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
demasiados access violation
HOla foro .. puede que tenga un dia con el biorritmo bajo pero los access violation me estan fastidiando sobremanera ..
Todo comenzo con un simple listado igual a TODOS los demas , uso una tabla temporal , alli grabo con un SP lo que necesito imprimir , la asigno a un QReport y relaciono un QRDBText con los campos de dicha tabla. bueno .. en ESTE caso ..antes de hacer el .Print debo hacer el Open de la tabla .. pues me da access violation ..y no hay caso .. he probado 'mover' el codigo en diferentes partes pero nada .. (hago el open de la tabla desde el entorno y abre sin problema .. los datos grabados en la tablas estan correctos) Tal vez el problema venga por otro lado .. y este haciendo algo incorrectamente.. Estoy ejecutando una ventana principal que usa 'varios' forms .. los creo TODOS juntos hago el Showmodal de ESA ventana principal y al salir hago el FREE de todos juntos .. por ej.. Código:
Application.CreateForm(TFPediSeg,FPediSeg); Application.CreateForm(TFPedDetProd,FPedDetProd); Application.CreateForm(TFCompItems,FCompItems); ...// son 7 u 8 forms FPediSeg.Showmodal CONTROL /* esto es un procedimiento de control que hace un open de una tabla general del sistema..*/ FPediSeg.free FPedDetProd.free FCompItems.free ... Digo esto porque ahora simplemente voy entrando a sucesivos forms (ya creados en el principal) mostrandolos con Showmodal y simplemete SALIENDO en cadena .. cuando salgo del tercero .. o sea ..el primero llama a un segundo y este segundo a un tercero ... saliendo simplemente de este tercero .. en cualquier instruccion que ponga luego de l showmodal .. me da error de access violation ..hasta en un simple Showmessage .. y todavia no he hecho ningun free.. bueno ..espero haya sido lo suficientemente claro ...y alguin pueda guiarme un poco... GRACIAS ...y saludos Ingel |
#2
|
||||
|
||||
Hola
No se si esta es la duda pero para llamar a un from yo uso: procedure TFMainForm.BitBtn10Click(Sender: TObject); begin FUsuarios:=TFUsuarios.Create(self); try FUsuarios.ShowModal; finally FUsuarios.Free; end; end; Esto en cada from osea el que llama a otro, asi cierro el from que no necesito y ahorro memoria. Podria ser esto. Espero te sirva de algo. Saludos |
#3
|
|||
|
|||
Hola compañero! la verdad que no entendi mucho..jaja pero como soy terca contesto igual
Bueno un consejo para guardar prolijidad deberias crear las ventanas cuando realmente las uses..y liberarlas cuando no las uses.. Tambien podrias proteger bloque despues de la creacion con un try... finally. Si haces un showmodal a un form que ya esta liberado..te va a dar error..es eso lo que te pasa?? Espero te sirva mi comentario. Salu2 LA PATRIA SERA LIBRE! |
#4
|
|||
|
|||
Uhh Me Ganaron De Mano! Ja..coincido Con El Comentario Anterior..
|
#5
|
||||
|
||||
Hola denuevo
Este es un simple codigo que llama a un reporte de compras por medio de un query. If Reporte = 'ComprasXFecha' then begin ShortDateFormat := '#yyyy/mm/dd#'; try QRComprasXCliente:=TQRComprasXCliente.Create(self); QRComprasXCliente.ADOQuery1.SQL.Add(' WHERE CxPagar.TipoTransac="FA" '); QRComprasXCliente.ADOQuery1.SQL.Add(' AND FechaTransac >= '+DateToStr(DTP1.Date)+' AND FechaTransac <= '+DateToStr(DTP2.Date)); QRComprasXCliente.ADOQuery1.SQL.Add(' ORDER BY CodProveedor, FechaTransac;'); QRComprasXCliente.ADOQuery1.Open; ShortDateFormat := 'dd/mm/yyyy'; QRComprasXCliente.Titulo.text := 'Compras Realizadas por Fecha'; QRComprasXCliente.QRLblDesde.Caption := DateToStr(DTP1.Date); QRComprasXCliente.QRLblHasta.Caption := DateToStr(DTP2.Date); If RadioGroup1.ItemIndex = 0 then QRComprasXCliente.Print else QRComprasXCliente.Preview; finally QRComprasXCliente.Free; end; Tal vez te sirva para completar tu enlace al qreport y no te de errores Por lo menos a mi me sirve. Saludos |
#6
|
||||
|
||||
solo como comentario apart; en la línea:
creoq ue sería mejor:
de esta forma no tienes que validar si una fecha es mayor a la otra o no
__________________
|
#7
|
||||
|
||||
Gracias Contra veneno
Tu comentario lo tamare en cuenta, esto tambien servira para que el que hizo la pregunta mejore su codigo al igual que yo, para esto esta el foro, Aprender. Saludos |
#8
|
||||
|
||||
A mi me pareció intrigante que tuvieras que crear un SP para generar una tabla para luego asignarlo a un Qreport.
Para mi lo más fácil hubiera sido utilizar un TQuery y asignarlo al QReport
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Access Violation | Carliviris | Varios | 5 | 12-05-2006 19:21:45 |
Access violation at .... | Perio | Varios | 5 | 07-02-2006 15:50:36 |
access violation | chilenauta | Impresión | 15 | 15-12-2004 19:45:51 |
Access Violation ..... | MADV01 | Varios | 2 | 24-03-2004 16:01:33 |
Access violation | Giasl | Varios | 6 | 07-05-2003 12:35:51 |
|