Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизTApplicationEvents.OnException получить имя метода из Exception Найти похожие ветки
← →
Rembo (2009-05-31 01:14) [0]В методе TApplicationEvents.OnException прописал это:
(Sender as TComponent).Name и смог писать в лог имя компонента который вызвал иссключение, есть ли способ узнать имя метода который вызвал иссключение?
(Sender as TComponent).MethodName() наверно позволит это, но что указывать в параметре не знаю. Наверно можно брать адрес из Exception.message пропарсив строку:
Access violation at address 0046DCD5 in module "Project1.exe". Read of address 00000000: n/a
но может есть путь попроще?
← →
Игорь Шевченко © (2009-05-31 01:30) [1]http://www.delphi-jedi.org jcl jcldebug.pas
uses
JclDebug;
procedure TfMain.OnApplicationException(Sender: TObject; E: Exception);
function StackTrace: string;
var
SL: TStringList;
begin
SL := TStringList.Create;
try
with TJclStackInfoList.Create(True, 0, nil) do
try
AddToStrings(SL);
Result := SL.Text;
finally
Free;
end;
finally
SL.Free;
end;
end;
var
F: TextFile;
begin
assignFile(F, LogFileName);
if FileExists(LogFileName) then
append(F)
else
rewrite(F);
try
writeln(F, StackTrace);
finally
CloseFile(F);
end;
Application.ShowException(E);
end;
← →
Германн © (2009-05-31 01:51) [2]Ещё проще http://www.eurekalog.com/
И готовая и дешёвая.
← →
Rembo (2009-05-31 01:57) [3]А почему
p:=Ptr(StrtoInt(s));
ShowMessage((Sender as TComponent).MethodName(p));
неработает?
p:pointer;
s:string; - содержит вырезаный адрес из строки "Access violation at address 0046DCD5 in module..."
Выдает пустоту(
← →
Игорь Шевченко © (2009-05-31 02:19) [4]
> А почему
>
> p:=Ptr(StrtoInt(s));
> ShowMessage((Sender as TComponent).MethodName(p));
> неработает?
I give you three guesses
← →
clickmaker © (2009-06-01 11:47) [5]> Выдает пустоту(
а что должен выдать?
← →
clickmaker © (2009-06-01 12:11) [6]If Address does not point to a published method of the object, MethodName returns an empty string
(c) Help
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c