Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Внизкак перекрыть exception ? Найти похожие ветки
← →
Dysan (2004-02-03 14:13) [0]Мастера! Подсткажите как перекрыть выполнение exception
и добавить туда то что мне нужно? И вообще можно ли сделать
чтоб каждый раз не писать try и т.д.?
← →
Карелин Артем (2004-02-03 14:16) [1]Application.OnException пойдет?
← →
Digitman (2004-02-03 14:18) [2]
> добавить туда
куда ?
> можно ли сделать
> чтоб каждый раз не писать try и т.д
в осн.код.потоке при использовании объекта Application - запросто. На то и существует событие TApplication.OnException
← →
Dysan (2004-02-03 14:22) [3]про TApplication.OnException я знаю
меня интерисует вопрос как в эту процедуру добавить то что мне нужно. просто я этим никогда не пользовался. случая не было.
← →
Digitman (2004-02-03 14:24) [4]а что тебе нужно ?
← →
Тимохов (2004-02-03 14:24) [5]Здесь два вопроса:
1. Что мне нужно? (мы ессно не знаем, что нужно)
2. Как добавить? (брось компонент TApplicationEvents, реализуй событие OnException, вроде все)
← →
Dysan (2004-02-03 14:38) [6]Ну вобщем грубо говоря
Если я напишу так
procedure TApplication.OnException
begin
открыть файл
запись кода ошибки
закрыть файл
end;
то это не правильно. а как надо я не знаю
← →
Тимохов (2004-02-03 14:41) [7]Конечно не правильно...
Дельфи, к сожалению, не знает "открыть файл".
Она знает конкретные команды.
Другой вопрос как ты их написал?
Может кодом поделишься, или это тайна?
← →
Тимохов (2004-02-03 14:42) [8]Блин, а это что "procedure TApplication.OnException"
Ты где это пишешь? Причем тут класс TApplication?
← →
Mystic (2004-02-03 14:42) [9]> Dysan © (03.02.04 14:38) [6]
Тоже вариант. Чего неправильно?
← →
Dysan (2004-02-03 14:54) [10]для мля я для примера написал "открыть файл и т.д."
чтоб не выписывать assign и т.д.
"Ты где это пишешь? Причем тут класс TApplication?" - Да нигде я это не пишу я спрашиваю как на писать? Как добавить в OnException или куда там еще, НАПРИМЕР открытие и закрытие файла. Меня не интерисует само открытие и закрытие.
← →
Тимохов (2004-02-03 14:56) [11]
>
> Dysan © (03.02.04 14:54) [10]
Будте внимательней.
См 5, пункт 2.
Тас все есть.
Компоненты бросать умеете?
Тогда вперед.
← →
Dysan (2004-02-03 14:58) [12]Так будет правильно?
procedure TC.go;
begin
Application.OnException := Catcher;
end;
procedure TgsCatcher.Catcher;
begin
{что то}
end;
end.
← →
Digitman (2004-02-03 15:05) [13]
> Dysan © (03.02.04 14:58) [12]
> Так будет правильно?
неправильно.
пример-то в хэлпе для кого дан ? для Пушкина ? или ты даже не удосужился в хэлп глянуть, прежде чем тут "для мля" ?
← →
Тимохов (2004-02-03 15:07) [14]Нет, не правильно.
Catcher должен быть таким:
procedure TGsCather.Catcher(Sender: TObject; E: Exception);
На будущее, см. модуль forms, очень полезно.
← →
Тимохов (2004-02-03 15:09) [15]Согласен с 13 - в хелпе точно такой пример есть.
← →
Dysan (2004-02-03 15:11) [16]да да я просто не дописал (Sender: TObject; E: Exception);
← →
Тимохов (2004-02-03 15:20) [17]тогда правильно, если учесть, что где-то в другом месте (скрытом от нас) нет ошибок.
← →
icWasya (2004-02-03 17:57) [18]например так
кладёшь на форму ApplicationEvents
выбираешь в инспекторе объектов
Events->OnException-> DblClick
программируешь
procedure TForm1.ApplicationEvents1Exception(Sender: TObject; E: Exception);
var
F:TextFile;
begin
AssignFile(F,"C:\Temp\AppLog.txt");
{$I-}
Append(F);
if IoResult<>0 then Rewrite(F);
if IoResult<>0 Exit;
{$I+}
WriteLN(F,"Exception :",E.ClassName );
WriteLN(F," ",E.Message );
CloseFile(F);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c