Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 29-02-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Podrías usar RTTI, por ejemplo:
Código Delphi [-]
unit uException;

interface

uses SysUtils;

type
  TAppExceptHandler = class(TObject)
  public
    procedure Handle(Sender: TObject; E: Exception);
  end;

var
  AppExceptHandler: TAppExceptHandler;

implementation

uses TypInfo, Dialogs;

procedure TAppExceptHandler.Handle(Sender: TObject; E: Exception);
var
  Ptd: PTypeData;
begin
  Ptd := GetTypeData(Sender.ClassInfo);
  if Assigned(Ptd) then
    ShowMessage(Format('Se produjo un error en %s%s%s',[Ptd^.UnitName, #10, E.Message]))
  else
    //...
  ;
end;
end.

Código Delphi [-]
program Project1;

uses
  Forms,
  uException in 'uException.pas',
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2},
  Unit3 in 'Unit3.pas' {Form3};

{$R *.res}

begin
  Application.OnException := AppExceptHandler.Handle;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Forzar errores en distintas unidades :
Código Delphi [-]
unit Unit1;
...
type
  TForm1 = class(TForm)
    Button1: TButton;   
    Button2: TButton;
    Button3: TButton; 
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
...
  
implementation

uses Unit2, Unit3;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Visible := False;
  Edit1.SetFocus;  // Asignar foco a ctrl invisible
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Form2 := TForm2.Create(Self); // TStrings.LoadFromFile
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Form3 := TForm3.Create(Self); // ADOQuery sin configurar
end;

...

Resultado:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



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
Nombre de la Unidad activa riqui73 C++ Builder 11 15-07-2010 14:49:33
En una instalación en CITRIX obtener nombre unidad C: de mi PC Jose Manuel Conexión con bases de datos 0 23-04-2010 18:41:09
Detectar Nombre unidad donde se inserto CD JuanErasmo API de Windows 11 27-04-2007 22:09:20
Saber nombre de la unidad de CD rex Varios 2 18-08-2005 23:16:08
Cambiar el nombre de la unidad de DD? danytorres Varios 1 05-02-2004 07:07:58


La franja horaria es GMT +2. Ahora son las 13:42:21.


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