mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-16 00:05:53 +01:00
66 lines
1.2 KiB
ObjectPascal
66 lines
1.2 KiB
ObjectPascal
|
unit MainFormU;
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, MVCFramework.AsyncTask, Vcl.StdCtrls;
|
||
|
|
||
|
type
|
||
|
TMainForm = class(TForm)
|
||
|
btnAsync1: TButton;
|
||
|
Edit1: TEdit;
|
||
|
btnWithEx: TButton;
|
||
|
procedure btnAsync1Click(Sender: TObject);
|
||
|
procedure btnWithExClick(Sender: TObject);
|
||
|
private
|
||
|
{ Private declarations }
|
||
|
public
|
||
|
{ Public declarations }
|
||
|
end;
|
||
|
|
||
|
var
|
||
|
MainForm: TMainForm;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
{$R *.dfm}
|
||
|
|
||
|
procedure TMainForm.btnAsync1Click(Sender: TObject);
|
||
|
begin
|
||
|
btnAsync1.Enabled := False;
|
||
|
MVCAsync.Run<String>(
|
||
|
function: String
|
||
|
begin
|
||
|
Sleep(1000);
|
||
|
Result := DateTimeToStr(Now);
|
||
|
end,
|
||
|
procedure(const Value: String)
|
||
|
begin
|
||
|
Edit1.Text := Value;
|
||
|
btnAsync1.Enabled := True;
|
||
|
end
|
||
|
);
|
||
|
end;
|
||
|
|
||
|
procedure TMainForm.btnWithExClick(Sender: TObject);
|
||
|
begin
|
||
|
MVCAsync.Run<String>(
|
||
|
function: String
|
||
|
begin
|
||
|
Sleep(1000);
|
||
|
raise Exception.Create('BOOOM!');
|
||
|
end,
|
||
|
procedure(const Value: String)
|
||
|
begin
|
||
|
//never called
|
||
|
end,
|
||
|
procedure(const Expt: Exception)
|
||
|
begin
|
||
|
ShowMessage(Expt.Message);
|
||
|
end
|
||
|
);
|
||
|
end;
|
||
|
|
||
|
end.
|