Показать сообщение отдельно
  #4  
Старый 13.02.2016, 10:25
Stanei Stanei вне форума
Новичок
 
Регистрация: 21.05.2015
Сообщения: 55
Версия Delphi: Rad Studio 10
Репутация: 10
По умолчанию

В общем почитав про инди, набросал вот это:

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, idhttp;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  type pot=class(tthread)
    private
    public
    procedure execute; override;
  end;

var
  Form1: TForm1;
  id:Tidhttp;
  p:pot;

implementation

{$R *.dfm}

procedure pot.Execute;
var
s:string;
begin
if p.Terminated=false then s:=id.Get('http://.ru/');
if p.Terminated=false then id.Free;
if p.Terminated=false then id:=nil;
if p.Terminated=false then form1.Memo1.Lines.Add('готово');
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Memo1.Lines.Add('Старт');

if id<>nil then
begin
p.Terminate;
id.Socket.Close;
id.Free;
id:=nil;
end;

id:=Tidhttp.Create(nil);
p:=pot.Create(true);
p.FreeOnTerminate:=true;
p.Priority:=tpnormal;
p.Resume;
end;

end.

Этот код будет работать стабильно, или нужно что то добавить/исправить? Что бы не получилось такого, что после часа пользования программой она прикажет долго жить?
Ответить с цитированием