Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2007
Avatar de saldanaluis
saldanaluis saldanaluis is offline
Miembro
 
Registrado: nov 2006
Ubicación: Monterrey NL México
Posts: 122
Poder: 18
saldanaluis Va por buen camino
Question try ... except... no toma la excepcion

Les agradecería si alguien me puede abrir los ojos en este punto. Tengo un codigo con try... except que no esta tomando la excepción y la maneja el handler interno.. Les pongo el código que tengo..
Código Delphi [-]
 
procedure TFrmTransacs.EdtCostoUnExit(Sender: TObject);
begin
Try
  Costo_Unit_Trans := StrtoFloat(EdtCostoUn.Text);
except
  on EConvertError do
    begin
    ShowMessage(EdtCostoUn.Text + ' No es un valor numerico. Favor de corregir');
    EdtCostoUn.SetFocus;
    end;
end;
end;

Gracias por sus respuestas y comentarios.
Luis
Responder Con Cita
  #2  
Antiguo 16-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cuando estas fuera de diseño también te muestra el error?...Pues lo probé en mi Delphi 6 y a mi me funciona bien, pruebalo fuera del IDE de delphi y si sigue el problema haz lo siguiente y dinos si te muestra algún error en pantalla, pues puede que sea otra cosa mas no la que explicas:
Código Delphi [-]
 
procedure TFrmTransacs.EdtCostoUnExit(Sender: TObject);
begin
  Try
    Costo_Unit_Trans := StrtoFloat(EdtCostoUn.Text);
  except
    on EConvertError do
    begin
      ShowMessage(EdtCostoUn.Text + ' No es un valor numerico. Favor de corregir');
    EdtCostoUn.SetFocus;
    end
    else
    begin
      raise;
    end;
  end;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 16-06-2007
Avatar de HenryAraniva
HenryAraniva HenryAraniva is offline
Miembro
 
Registrado: jun 2005
Ubicación: El Salvador
Posts: 44
Poder: 0
HenryAraniva Va por buen camino
no se si ya has probado ese codigo corriendo el ejecutable, es decir estando fuera de delphi. Cuando yo he usando el try si estoy editando el codigo y desde ahí lo ejecuto parece que el manejo de los errores no funcionara pero cuando ejecuto el .exe ahí si veo los mensajes de error que he escrito, no se si ese será tambien tu caso.
__________________
Cuando la única herramienta es un martillo todos los problemas tienen cara de clavo
Responder Con Cita
  #4  
Antiguo 16-06-2007
Avatar de saldanaluis
saldanaluis saldanaluis is offline
Miembro
 
Registrado: nov 2006
Ubicación: Monterrey NL México
Posts: 122
Poder: 18
saldanaluis Va por buen camino
Gracias por sus respuestas... Efectivamente, cuendo ejecuto el .exe fuerra del IDE si toma la excepción y envía el mensaje que le codifiquè.
¿Quiere decir que esto es un error del Delphi7 que estoy utilizando? ¿Es alguna opción del IDE que no he activado? Gracias nuevamente.
Responder Con Cita
  #5  
Antiguo 16-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por saldanaluis
Gracias por sus respuestas... Efectivamente, cuendo ejecuto el .exe fuerra del IDE si toma la excepción y envía el mensaje que le codifiquè.
¿Quiere decir que esto es un error del Delphi7 que estoy utilizando? ¿Es alguna opción del IDE que no he activado? Gracias nuevamente.
No es error de Delphi, lo que sucede es que para nosotros los que programamos nos interesa ver los errores "reales" del asunto dado el caso de que sea necesario, en este caso la idea es que el usuario final no vea el error, si no mas bien un mensaje personalizado por ti mismo, pero para ti si puede ser de utilidad que te muestre el error "Real". En todo caso si no te convencen mis argumentos podrás desactivar el asunto quitando el visto bueno que se encuentra en: Tools|Degger Options|Language Exceptions y desactivas el CheckBox llamado "Stop on Delphi Exceptions"... Espero me haya hecho entender y que te sirva.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 16-06-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Creo que antes de que salte la excepcion porq no pruebas con la funcion StrtoFloatDef es mucho mas facil de utilizar, seria algo asi

Código Delphi [-]
Costo_Unit_Trans := StrtoFloatDef(EdtCostoUn.Text, -1);
if Costo_Unit_Trans = -1 then
begin
   ShowMessage(EdtCostoUn.Text + ' No es un valor numerico. Favor de   corregir');
   EdtCostoUn.SetFocus;
end;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Toma cafés marcoszorrilla La Taberna 1 21-05-2007 11:31:36
Yoigo tambien nos toma el pelo Bicho La Taberna 8 26-03-2007 12:55:31
toma de permisos.... ¿como? User_baja1 Varios 1 25-10-2005 14:08:42
Toma de fotos sometimedj API de Windows 3 01-10-2004 06:40:55
Porque no me toma el origen de datos? Morphine Varios 1 03-09-2004 00:33:06


La franja horaria es GMT +2. Ahora son las 13:05:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi