Cita:
|
Empezado por ingel
la info que me da es:
UNITNAME: dice OLEDBAccess en lugar de la unit que se produjo ...
Porcedure : ToleDbConnection.oledberror
Line : 0
|
En el primer formulario que crea en tu applicación ¿has puesto uses lpjcldebug
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:
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
|
El error que da al principio del texto es donde se hace un
Raise
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:
|
Exception EConvertError: ' ' no es un valor entero válido
|
Esto significa que en Umain.pas linea 2224 estarás usando un
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:
Código Delphi
[-]
try
Strtoint(edit1.text);
except
edit1.text:= '0';
Raise Exception.Create('Quillo no seas malo y mete un numero en el Edit1');
end;
saludos