title: How to use thread Delphi
body: <p>I work for a few days of this application. Form freezes until the entire transaction. How do I use Tread?</p>
  
  <pre><code>procedure TForm1.ListBox1Click(Sender: TObject);
  var
    I: Integer;
    S: String;
  
    begin
  
     I := Listbox1.ItemIndex;
  
      if I &lt;&gt; -1 then
      begin
      S := Listbox1.Items[I];
      IdHTTP1.ProxyParams.ProxyServer := Fetch(S, ':');
      IdHTTP1.ProxyParams.ProxyPort := StrToInt(S);
  
      try
  
      IdHTTP1.ReadTimeout:=strtoint(form1.ComboBox1.Text); // ZMAAN AŞIMI
     IdHTTP1.Get(Edit4.Text);                         // POST GET
  
    Memo1.Lines.Add(Format('Sıra %d %s', [I, 'Bağlandı.']));
  
   except
  
   Memo1.Lines.Add(Format('Sıra %d %s', [I, 'Bağlanamadı.']));
  
  IdHTTP1.Disconnect;   // ÖLDÜR.
  end;
  end;
  end;
  
  procedure TForm1.Timer1Timer(Sender: TObject);
  begin
     Timer1.Enabled := False;
    try
      ListBox1Click(nil);
      if ListBox1.ItemIndex &lt; ListBox1.Items.Count - 1 then
        ListBox1.ItemIndex := ListBox1.ItemIndex + 1
      else
        ListBox1.ItemIndex := -1;
     finally
      Timer1.Enabled := True;
    end;
  
    if ListBox1.ItemIndex = -1 then
  Timer1.Enabled:=false;
  
  end;
  
  
  procedure TForm1.BitBtn2Click(Sender: TObject);
  begin
    Timer1.Enabled := true;
  end;
  </code></pre>
  
  <p>Thank you in advance.</p>