本人想用户点打开哪个图片,就用线程在网上下载那张图片下来如果那张图片没有下载下来时,用户点下一张图片,则把前面的线程关掉,然后再启动一个线程下载这张。。以下是本人写的代码。。没有实现把前面的线程关掉的功能,请教线程高手。。这个怎么处理?
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, StdCtrls,JPEG;type
  TForm1 = class(TForm)
    Panel6: TPanel;
    Image1: TImage;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;type
  Tmythread=class(Tthread)
  private
    Image:TImage;
    URL:string;
  protected
    procedure execute;override;
    procedure LoadPictureFromWeb;
  public
    constructor create(suspended:boolean;var Image1:TImage;WebURL:string);
end;var
  Form1: TForm1;implementation{$R *.dfm}
constructor Tmythread.create(suspended:boolean;var Image1:TImage;WebURL:string);
begin
  inherited create(suspended);
  Image:=Image1;
  URL:=WebURL;
  FreeOnTerminate:=true;
end;procedure Tmythread.execute;
begin
  LoadPictureFromWeb;
end;procedure Tmythread.LoadPictureFromWeb;
var
  Stream:TMemoryStream;
  IdHTTP: TIdHTTP;
  jpg:TJPEGImage;
begin
  try
    Stream:=TMemoryStream.Create;
    IdHTTP:=TIdHTTP.Create(nil);
    IdHTTP.Get(URL,Stream);    try
      Stream.Position:=0;
      jpg:=TJPEGImage.Create;
      jpg.LoadFromStream(Stream);
      Image.Picture.Assign(jpg);
      Image.BringToFront;
    except
    end;
  finally
    Stream.Free;
    IdHTTP.Free;
  end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
  mythread:Tmythread;
begin
  mythread:=Tmythread.create(false,Image1,'要打开的图片.jpg');
end;end.