Как сделать обработчик ошибок с формой TTaskDialog, типа:
try
...
except
raise TTaskDialog.Create
end;
Модератор: Модераторы
try
//raise TTaskDialog.Create;
raise Exception.CreateFmt('Недопустимое название : ''%s''', [name]);
except
on e:exception do
ShowMessage(e.Message);
end;
try
TaskDialog := TTaskDialog.Create;
// ...
except
on e:exception do
ShowMessage(e.Message);
end;
zub писал(а):Проблема в получении "деталей" ошибки или создании окна?
Вообщета создавать сложные окна при ошибке не есть хорошо.
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;
type
{ TForm1 }
TForm1 = class(TForm)
FAppProps:TApplicationProperties;
procedure _onCreateHandler(Sender: TObject);
procedure ExceptionHandler(Sender: TObject; E: Exception);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure GetAV;
begin
pinteger(0)^:=100;
end;
procedure TForm1.ExceptionHandler(Sender: TObject; E: Exception);
var
errformm:TTaskDialog;
begin
errformm:=TTaskDialog.Create(nil);
errformm.Caption:='haha!';
errformm.Execute;
errformm.Free;
end;
procedure TForm1._onCreateHandler(Sender: TObject);
begin
FAppProps := TApplicationProperties.Create(Self);
FAppProps.OnException := @ExceptionHandler;
FAppProps.CaptureExceptions := True;
GetAV;
end;
end.
Сейчас этот форум просматривают: Google Adsense [Bot], Yandex [Bot] и гости: 74