Problem z raportowaniem błędów

0

Utworzyłem sobie w programie moduł do raportowania błędów.
Jego kod wygląda tak:

procedure Terr.Blad(Sender: TObject; E: Exception);
begin
{...}
    prg.Lines.Add('##ERRSTART#');
    prg.Lines.Add('##'+E.Message);
    prg.Lines.Add('##'+E.ClassName);
    prg.Lines.Add('##'+IntToStr(E.InstanceSize));
    prg.Lines.Add('##'+(Sender as TComponent).Name);
    prg.Lines.Add('##ERREND#');
err.ShowModal;
end;
end;

I wszystko działa okey tylko czy jest możliwość pobrania w jakim komponencie wystąpił błąd?
Jeżeli wystąpi błąd w kliknięciu na przycisk na Form1, to otrzymam raport, że coś tam się zepsuło na Form1, ale nic nie jest wspomniane o przycisku. (Sender as TComponent).Name); zwraca nazwę formy.

0
djmentos napisał(a)

Utworzyłem sobie w programie moduł do raportowania błędów.
Jego kod wygląda tak:

procedure Terr.Blad(Sender: TObject; E: Exception);
begin
{...}
    prg.Lines.Add('##ERRSTART#');
    prg.Lines.Add('##'+E.Message);
    prg.Lines.Add('##'+E.ClassName);
    prg.Lines.Add('##'+IntToStr(E.InstanceSize));
    prg.Lines.Add('##'+(Sender as TComponent).Name);
    prg.Lines.Add('##ERREND#');
err.ShowModal;
end;
end;

I wszystko działa okey tylko czy jest możliwość pobrania w jakim komponencie wystąpił błąd?
Jeżeli wystąpi błąd w kliknięciu na przycisk na Form1, to otrzymam raport, że coś tam się zepsuło na Form1, ale nic nie jest wspomniane o przycisku. (Sender as TComponent).Name); zwraca nazwę formy.

do procedury naciśnięcia przycisku zamiast słowa sender wpisuj nazwe komponentu np Blad(Button1, E);

0

nie moge, bo ta procedura jest przypisana do Application.OnException ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1