FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Saludos
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#2
|
||||
|
||||
Los que de verdad tienen el mérito son los que empezaron a trabajar con su antecesor ,(que supongo era el mapFileSource), despues los de la JVCL se lo han currado hasta quedarse calvos, para que con un solo clic de ratón se añada toda esa info.
Yo lo único que he hecho es cambiar un procedure por un function.... y poco más. Así que no teneís que admirarme.... más bien hacer un depósito en mi cuenta corriente Venga, un saludo compañeros. |
#3
|
|||
|
|||
siguiendo los pasos de Lepe ..
Lepe , estoy tratando de seguir tus consejos ... y he llegado al punto de conseguir el log con el error , pero no me devuelve la linea , ni el pas donde se produjo .. talvez tenga que ver con el 'tipo de error' (ante la ignorancia , viene el delirio ), porque en los casos:
error 1: (producido con una query poniendo una instrucion SQL con error de sintacsis..al hacer el open da el error) la info que me da es: UNITNAME: dice OLEDBAccess en lugar de la unit que se produjo ... Porcedure : ToleDbConnection.oledberror Line : 0 y en los sucesivos Unitname ..( 2 en este caso ) todos line 0 ----- Caso error 2: (producido al pasar mal el valor de un parametro a un Store Procedure) de da : Unitname : sysutils prodecure : convertErrorFmt Line : 0 y en los sucesivos Unitname ..en el tercero si me da una referencia al pas uMain.pas Line : 2224 (que no es exactamente el ExecProc sino el showmessage del except del try del ExecProc ) ----------- este es el txt tectual del log: [13/10/2005 12:14:08]Exception EMSError: Línea 1: sintaxis incorrecta cerca de 'fromm'.> [13/10/2005 12:39:11]Exception EConvertError: ' ' no es un valor entero válido Exception UnitName : SysUtils Procedure : ConvertErrorFmt Line : 0 OffsetLine : 0 Deep of Except frame-dump : 5 UnitName : SysUtils Procedure : ConvertErrorFmt SourceName : Line : 0 UnitName : uMain Procedure : TMainMenu.Button1Click SourceName : uMain.pas Line : 2224 UnitName : Controls Procedure : TWinControl.MainWndProc SourceName : Line : 0 UnitName : Controls Procedure : TWinControl.MainWndProc SourceName : Line : 0 > no se cuan lejos estare de que esto sea el log 'optimo y correcto' Saludos y gracias Ingel |
#4
|
||||
|
||||
Cita:
como primer uses de la ventana? ¿Seguro que has hecho un Build Project o Build All? Si no lo haces, no se genera de nuevo el archivo .map, por tanto las referencias son las antiguas, basta que hayas creado nuevos procedimientos para que no sea capaz de encontrar las entradas en el .map Cita:
Exception.Create, o un simple Raise en bloques try...except. El Frame-Dump es el volcado de llamadas que se han hecho anteriormente hasta llegar al que levantó la excepción; en este caso se ha podido rastrear 5 llamadas, si tu error está 7 llamadas antes, no vas a poder identificar la linea exacta (auque esto ocurre muy pocas veces ) Cita:
StrToInt(edit1.text), o algo similar, pero el usuario no ha escrito nada en Edit1, Usa StrtointDef para pasar un valor por defecto. Siempre vas a ver código de DB.pas, Sysutils.pas y similares, ya que es allí donde se levantan excepciones. Ahora te toca levantar tus propias excepciones:
saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
ultimas consultas ..espero
Lepe , agradezco tu paciencia ...
necesito consultarte puntualmente : 1. El registro de los errores se generan siempre que se produce un error o solo cuando se produce en una instruccion encerrada en un try /except ? 2. En el menu general del sistema que estoy modificando hay un procedure : procedure TMainMenu.AppException(Sender: TObject; E: Exception); y dentro de el se graba un log de errores (muy humilde ) .. pero mi duda es si PASA POR AHI ..cada vez que se produce un error en CUALQUIER parte del sistema .. o hay que poner el control de errores en cada Formulario. (Lo que mas me interesa controlar son las grabaciones en la base de datos que se hacen con Stores procedures) 3. Lo que me comentaste del control de las Ventanas ... donde iria ese codigo ? 4. el archvo log que se me genera es el siguiente: Cita:
como veras luego de Exception ... no me da info del PAS , ni la linea donde se produce el error (Line : 0 OffsetLine : 0) es esto correcto ?..me da la linea en el frame-dump , pero solo una , el resto esta en 0 cero. - y la otra .. me deja registrado el detalle de la ULTIMA exepcion ..las 5 primeras solo me queda [13/10/2005 12:14:08] .... debo tener algun error al grabar el log? un saludo , no te atormento mas ........por un rato |
#6
|
|||||
|
|||||
Cita:
"la cara oculta de delphi 4 ", en ese libro se explica como trabajar con las excepciones, y en el foro hay muchas preguntas sobre este tema (nada más tienes que buscar por "Exception"). Como comprenderás es necesario saber qué es una Excepción, como se produce, y que hace, para despues entender como capturarlas y manejarlas. Cita:
la opción de Excepciones. Si no hay try... except en ninguna rutina, la excepción llegará al Objeto Application. Si hay try ... except, debes entender la palabra reservada Raise; qué hace y si conviene usarla. Cita:
quiera que se produzca una excepción que no se controle con Raise; Cita:
puedo decir es que algunas veces tambien obtengo esos resultados. Pero obviamente, el error lo tienes en TFAbmCreditos.Button1Click, y jclDebug te lo está diciendo. Cita:
Que conste que no te estoy dando "largas", simplemente te toca a ti, buscar, leer, entender, comprobar y practicar. Es la única forma de aprender. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
||||
|
||||
Reabro este hilo solo para comentar un detalle solicitado por Dec Según la documentación de la JVCL 3, el archivo .map puede borrarse despues de hacer el "Buid Project", en el exe se incluye la información de depuración.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
|