Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit7;
- interface
- uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Threading, ThreadingEx;
- type
- TForm7 = class(TForm)
- Button1: TButton;
- CheckBox1: TCheckBox;
- procedure Button1Click(Sender: TObject);
- procedure CheckBox1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- Fault: Boolean;
- t: ITaskEx;
- end;
- var
- Form7: TForm7;
- implementation
- {$R *.dfm}
- procedure TForm7.Button1Click(Sender: TObject);
- begin
- t := TTaskEx.Run(
- procedure
- begin
- Sleep(2000);
- if Fault then raise EProgrammerNotFound.Create('whoops')
- end)
- .ContinueWithGui2(
- [OnlyOnFaulted, OnlyOnCompleted, OnlyOnCanceled],
- procedure(const Status: TTaskStatus; const t: ITaskEx)
- begin
- case Status of
- TTaskStatus.Exception : ShowMessage(t.ExceptObj.Message);
- TTaskStatus.Completed : ShowMessage('Sucess');
- TTaskStatus.Canceled : ShowMessage('Canceled');
- end;
- end);
- // ShowMessage(Integer(t).ToString);
- end;
- procedure TForm7.CheckBox1Click(Sender: TObject);
- begin
- Fault := CheckBox1.Checked;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement