我 想在 form 上显示 不同的 数据在刷新 ,不知道问题在哪?求帮助代码 如下:
unit Unit10;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
//FCriticalSection
  TMyThreadEvent =procedure of object;
  //procedure (Acanvas :Tcanvas;const Atext:String) of object;
  TMyThread=class(Tthread)
    procedure Execute;override;
    procedure DoDrawInfo;
  private
    FMyThreadEvent: TMyThreadEvent;
  published
  public
//     FForm:TForm10;
     property MyThreadEvent:TMyThreadEvent read FMyThreadEvent write FMyThreadEvent;
  end;  TForm10 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    FTextThread:TMythread;
    FDateTimeThread:TMythread;
    procedure WMPaint(var Message: TMessage); message WM_PAINT;
  public
    { Public declarations }
    procedure settext;
    procedure showDatetime;  end;
var
  Form10: TForm10;implementation{$R *.dfm}procedure TForm10.FormCreate(Sender: TObject);
begin
  FTextThread:=TMythread.Create(true);
  FTextThread.MyThreadEvent:=self.settext;  FDateTimeThread:=TMythread.Create(true);
  FDateTimeThread.MyThreadEvent:=self.showDatetime;
end;procedure TForm10.FormDestroy(Sender: TObject);
begin
  freeandnil(FTextThread);
  freeandnil(FDateTimeThread);
end;procedure TForm10.settext;
var
  i:integer;
begin
  i:=0;
//    FDateTimeThread:TMythread;
  while i<1000000 do
  begin
    inc(i);
    self.Canvas.Lock;
    self.Canvas.TextOut(20,100,inttostr(i));
    self.Canvas.Unlock;
  end;
end;procedure TForm10.showDatetime;
var time:string;
begin
  time:=formatdatetime('YYMMDD HH:MM:SS',NOw());
  self.Canvas.Lock;
  self.Canvas.TextOut(20,20,time);
  self.Canvas.Unlock;
end;procedure TForm10.WMPaint(var Message: TMessage);
begin
  FTextThread.Execute;
  FDateTimeThread.Execute;
end;{ TMyThread }procedure TMyThread.DoDrawInfo;
begin
  if assigned(FMyThreadEvent) then
  begin
    FMyThreadEvent();
  end;
end;procedure TMyThread.Execute;
begin
  inherited;
  Synchronize(DoDrawInfo);end;end.不知道 线程 还是要等第一个 执行 完成了 ,第二个 才 执行!
求解决方案!