Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 13-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Yo creo que es innecesario en este caso usar el try, ya que se supone que el espíritu de las excepciones es que el programa pueda solucionar u ofrecer un alternativa de solución al problema que generó la excepción y de esta forma seguir funcionando sin caerse.

En este caso particular de nada nos sirve el mensaje ya que no soluciona nada para el usuario, es más me doy cuenta que lo usas para mostrar una ayuda al usuario abriendo word....y si el usuario no tiene Word?... tu código fallará desde la primera instrucción y ahi si no capturas la excepción por lo que en ese caso el usuario solo verá un bonito mensaje críptico.

Soluciones:
1.- No uses word solo para mostrar una ayuda...Un richedit te puede servir mas o menos igual
2.- Verifica que tanto word como el archivo de ayuda esten disponibles antes de tratar de hacer nada con ellos en el código

consejo:
Los try son útiles y necesarios por ejemplo cuando creas objetos al vuelo para asegurarlos que si ocurre un error se destruya correctamente el objeto..también para asegurarnos que dejemos la aplicación como estaba hasta antes de que ocurriera el error.
Para liberar objetos...
Código Delphi [-]
 Miventana := TForm.Create(nil);
 Try
   MiVentana.ShowModal;
  //..Hacemos algo con MiVentana
  //.
  //.
 finally
   MiVentana.Free;  //Si ocurriera un error en el codigo entre "try" y "finally"
 end;                    // Miventana siempre se destruye correctamente

para dejar las cosas como las encontramos...
Código Delphi [-]
//Vamos a ejecutar un proceso que tarda un poco
 Screen.cursor:=crHourglass;  // Ponemos el relojito...
 Try
  //..Hacemos algo que tarde mucho y pueda fallar
  //.
  //.
 finally
  Screen.Cursor := crArrow; // Si ocurrio un error de todos modos 
  end;                             //  dejamos el cursor nuevamente como estaba

Ejemplo anterior pero tratando la excepcion
Código Delphi [-]
//Vamos a ejecutar un proceso que tarda un poco
 Screen.cursor:=crHourglass;  // Ponemos el relojito...
 Try
  Try
    //..Hacemos algo que tarde mucho y pueda fallar
    //.
    //.
  except
    //Corregimos el error o informamos que no se pudo corregir
  end;

 finally
  Screen.Cursor := crArrow; // Si ocurrio un error de todos modos 
  end;                             //  dejamos el cursor nuevamente como estaba
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
contraer por codigo, cxGrid (+) los nodos abiertos cerrarlos por codigo sakuragi OOP 6 27-07-2005 18:23:07
de codigo VB a codigo Delphi ingel Impresión 2 20-07-2004 14:15:44
Dudas con el sql acrophet Conexión con bases de datos 6 07-10-2003 16:29:54
Dudas de SQL Rubiel SQL 2 09-06-2003 16:16:50
Dudas de SQL Rubiel Conexión con bases de datos 3 09-06-2003 15:53:41


La franja horaria es GMT +2. Ahora son las 00:58:49.


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