Last active
January 28, 2017 12:43
-
-
Save jkour/4263ddf4cb97ae3b40b548593f992dfa to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
unit Unit4; | |
interface | |
uses | |
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, | |
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, | |
FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo; | |
type | |
TUpdate = procedure (const text: string) of object; | |
TDemo = class | |
private | |
fUpdate: TUpdate; | |
public | |
constructor Create (const aUpdate: TUpdate); | |
end; | |
TForm4 = class(TForm) | |
Memo1: TMemo; | |
Button1: TButton; | |
procedure FormDestroy(Sender: TObject); | |
procedure Button1Click(Sender: TObject); | |
private | |
fDemo: TDemo; | |
procedure update (const text: string); | |
public | |
{ Public declarations } | |
end; | |
var | |
Form4: TForm4; | |
implementation | |
uses | |
System.Threading; | |
{$R *.fmx} | |
{ TDemo } | |
constructor TDemo.Create (const aUpdate: TUpdate); | |
var | |
dbTask: ITask; | |
dbTaskArray: array [0..0] of ITask; | |
begin | |
fUpdate:=aUpdate; | |
dbTask:=TTask.Create( | |
procedure | |
var | |
i: Integer; | |
begin | |
for i := 0 to 10 do | |
begin | |
TThread.Queue(nil, | |
procedure | |
begin | |
fUpdate(I.ToString); | |
end); | |
end; | |
end | |
); | |
dbTaskArray[0]:=dbTask; | |
dbTask.Start; | |
TTask.WaitForAll(dbTaskArray); | |
end; | |
procedure TForm4.FormDestroy(Sender: TObject); | |
begin | |
fDemo.Free; | |
end; | |
procedure TForm4.Button1Click(Sender: TObject); | |
begin | |
fDemo:=TDemo.Create (update); | |
end; | |
procedure TForm4.update(const text: string); | |
begin | |
Memo1.Text:=text+sLineBreak+Memo1.Text; | |
end; | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Try this