//程序很简单,内容如下:
unit Main_Unit;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type TWriteThread = class(TThread)  private
   //
  protected
    procedure Execute;
  public
   //
  end;type
  TMainForm = class(TForm)
    Button1: TButton;
    Button2: TButton;
    CheckBox1: TCheckBox;
    Memo1: TMemo;
    procedure Button2Click(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ThreadDone(Sender : TObject);
  end;var
  MainForm: TMainForm;
  DoneFlags : integer;
  tempfile : file;
  cs:TRTLCriticalSection;
  filename : string;
  pos : longint;implementation{$R *.dfm}{ TWriteThread }{constructor TWriteThread.create;
begin
  //
end;  }procedure TWriteThread.Execute;       //每个线程都向today.txt写入内容:"f"
var
  i ,temp_len : integer;
  buf : array[1..100] of char;
begin
  OnTerminate:=MainForm.ThreadDone;
  EnterCriticalSection(cs);
  filename := 'D:\Documents and Settings\Administrator\桌面\today.txt';
  for i:=1 to 100  do
    begin
      assignfile(tempfile,filename);
      if FileExists(filename)=true then
        begin
          reset(tempfile,1);
          pos:=filesize(tempfile);
        end
      else
        begin
          rewrite(tempfile,1);
          pos:=0;
        end;
      seek(tempfile,pos);      FillChar(buf,sizeof(buf),'f');
      temp_len := sizeof(buf);
      blockwrite(tempfile,buf,temp_len);
    end;
  LeaveCriticalSection(cs);
end; { TMainForm }procedure TMainForm.ThreadDone;
var
  i : integer; 
begin
  //inherited;
  inc(DoneFlags);
  if DoneFlags = 10 then
    begin    //make sure 10 threads all finished
      closefile(tempfile);
      DeleteCriticalSection(cs);
    end
end;procedure TMainForm.Button2Click(Sender: TObject);
var
  TempWriteThds: array[1..10] of TWriteThread;
  i : integer;
  Handel_Thd : array[1..10] of THandle;
begin
  InitializeCriticalSection(cs);
  for i:=1 to 10 do                       //创建十个线程
    begin
       TempWriteThds[i] :=TWriteThread.Create(false);
       sleep(10);
       Handel_Thd[i] := TempWriteThds[i].Handle;
    end;
end;end.我在运行时,出现:Abstract error!请大家帮忙看一下是什么问题。谢谢!