FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Fichero de Texto: Log.txt
tengo una aplicacion casi acabada y tengo intencion de instalarla en un pc donde otra persona pueda trastear y hacer de todo con ella, de modo que de pie a que surjan posibles errores. dicen que cuatro ojos ven mas que dos asi que a modo de poder depurar errores de la aplicacion creo que no es mala idea
se me ha ocurrido hacer un fichero Log.txt en el que poder recoger cualquier incidencia de la aplicacion pero no se el metodo correcto para hacer esto; haciendo pruebas, he conseguido añadir el error en el fichero pero claro, solo desde el evento de un objeto; es decir, por ejemplo si pulso el boton de conectar a la bd y se generara un error, llamo a la funcion para añadir el error en el fichero y lo agrego;bien, pero esto quiero hacerlo desde todos los objetos que tenga en la aplicación?tengo que llamar desde cada uno de ellos a dicha función como se me ocurre a primera vista?claro, si esto es asi, cómo puedo llamar desde otro formulario a un procedimiento del FormPrincipal? existe alguna posibilidad a nivel de la aplicacion de controlar si existiera alguna excepcion llamar a la función? El fichero Log.txt, ya estaria creado y solo se tendria que añadir el error en el: fecha, hora, nombre del formulario,nombre del objeto,error lo que he conseguido hasta ahora es esto: Código:
procedure registrolog (FormName,NomObjeto,S:string) ; var Fich : TextFile ; begin if FileExists (ExtractFilePath(Application.ExeName)+'\Log\Log.txt') then begin AssignFile (Fich,ExtractFilePath(Application.ExeName)+'\Log\Log.txt') ; Append (Fich) ; Writeln (Fich,DateToStr(Date),' ',TimeToStr(Time),' ',' ',FormName,' ',NomObjeto,' ',S); Flush (Fich) ; CloseFile (Fich) ; end ; end; Código:
TRY tablepwd.Active := False ; //pongo false en lugar de true para generar queriendo la excepcion y ver el resultado de lo que seria agregar el error en el fichero if meditclave.Text = tablepwd.fieldbyname('clave').asstring then ... EXCEPT ON Error:Exception do begin tablepwd.close ; Messagedlg ('Error al abrir la Base de Datos'+#13+#13+'Error del Sistema: '+Error.Message,mtError,[mbOK],0); REGISTROLOG (Screen.ActiveForm.Name,(Sender as TSpeedButton).name,Error.Message) ; end; END; Código:
16/09/2011 11:05:42 frmmenu sbconectar tablepwd: Field 'clave' not found me gustaria poder añadir en el fichero otro dato;seria el evento del objeto pero eso no lo he logrado bueno, mucha informacion; espero que este claro lo que pretendo para ver si podeis ayudarme |
#2
|
||||
|
||||
Si he entendido bien, lo que necesitas es capturar el evento OnException del programa y desde allí tratar todos los errores.
Puedes crear un procedure en tu Form principal, algo así
Lo asignas al crear el Form, ejemplo:
En tu procedure haces lo que creas conveniente, ejemplo:
Y en GuardarError lo almacena en tu fichero log.
En fin, es sólo un ejemplo simplón, para que te hagas una idea. Espero que sea lo que buscas. |
#3
|
|||
|
|||
Fichero Log.txt
en gran parte eso es lo que busco
muchas gracias Casimiro Notevi como podria añadir el evento del componente que genero la excepción? probare y si necesito algo más, lo comento muchas gracias nuevamente |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
leer fichero de texto | emeritos | Lazarus, FreePascal, Kylix, etc. | 5 | 20-02-2008 19:57:46 |
Fichero de Texto Enorme | muli | Varios | 8 | 19-02-2008 02:23:35 |
verificar fichero de texto | arley_molina | Varios | 2 | 12-06-2006 20:52:40 |
fichero de texto con tabulaciones | davidgaldo | Varios | 5 | 30-11-2005 16:23:38 |
Ayuda con fichero de texto | jadelphi | Varios | 4 | 07-10-2004 09:43:14 |
|