![]() |
Problemas con TOpenDialog
Tengo un programa que utiliza el openDialog o el SaveDialog. Todo muy bien, pero despues al terminar el programa me da un error de acceso a memoria. Ya comprobé y solo me da el error cuando abro o salvo un fichero. Os ha pasado a alguno?
GRacias. |
Bueno para poderte responder eso...necesitamos un poco mas de detalle...Por ejemplo:
1. Poner el codigo que usas, a la hora de salvar o de abrir. 2. Que tienes en el OnClose, Ondestroy, o algo que nos diga mas sobre tu caso, pues a todos nos a sucedido un error de acceso a memoria. Y casi siempre es un error de ponerle mucho cuidado. |
Pues mi código es de lo mas sencillo...
Tengo un botón en el formulario donde abro el opendialog: if miOpenDialog.execute then begin //hago cosas con el fichero end Escojo el fichero que quiero y lo visualizo. Pero probé a aquitar lo que tengo entre el begin y el end y me casca. El problema es al hacer el execute. De mano no me rompe, solo en el momento en que salgo de la aplicación con Application.Terminate o Halt. Voy a probar a hacer un mini-programa solo con el execute. Ya os contaré. Gracias. |
Primero te recomiendo solo terminar con Halt, cuando tu aplicación termina anormalmente, y segundo te recomiendo que comentes el código hago cosas con el fichero, para ver si el error es verdaderamente de los common dialogs.
Saludos! |
Puse entre comentarios el "Hago cosas con el fichero" y me sigue dando problemas, por eso "supongo" que ese no sea el problema.
Y como me esperaba, hice un programa a parte, solo con el execute y funciona.... if sdBuscaFichero.Execute = true then begin try GrabarFichero(sdBuscaFichero.Files[0]); except MessageDlg('No se ha podido guardar el fichero con la lista de señales exportadas. Revise el nombre del fichero seleccionado',mtError,[mbOk],0); end; end;//if odBuscaFichero.Execute then Este es el código orginal. Lo sustituyo solo por esto: GrabarFichero('n:\endesa\sigma_cltlc\quepasa.txt'); y funciona.... este código es con el SaveDialog, pero me pasa lo mismo, en el momento que hago el execute me casca el programa al terminarlo. Gracias de nuevo. |
La franja horaria es GMT +2. Ahora son las 01:57:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi