مشکل در اجرای دوباره ترد بعد دیسکانکت
Var
Scan: TScan;
StopUp: Boolean;
type
TScan = class(TThread)
private
IdHTTP1: TIdHTTP;
IsUpload: Boolean;
procedure HttpWork(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
protected
procedure Execute; override;
end;
procedure TScan.HttpWork(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
begin
if StopUp then
IdHTTP1.Disconnect;
end;
procedure TScan.Execute;
begin
IdHTTP1 := TIdHTTP.Create(nil);
IdHTTP1.HTTPOptions := [hoKeepOrigProtocol];
IdHTTP1.OnWork := HttpWork;
try
code := IdHTTP1.Post('Address', 'DataStream'); //Upload
except
IdHTTP1.Free;
end;
IdHTTP1.Free;
end;
procedure Form1.StartClick(Sender: TObject);
begin
StopUp := False;
Scan := TScan.Create(False);
Scan.FreeOnTerminate := True;
end;
procedure Form1.StopClick(Sender: TObject);
begin
StopUp := true;
end;
نقل قول: مشکل در اجرای دوباره ترد بعد دیسکانکت
StopUp should not be in shared space. put it as member of your thread instead.
نقل قول: مشکل در اجرای دوباره ترد بعد دیسکانکت
اگه تو ترد قرارش بدم چجوری از طریق باتم بهش مقدار بدم.
نقل قول: مشکل در اجرای دوباره ترد بعد دیسکانکت
نام ترد نقطه پراپرتی، دقیقا مثل یک شی باهاش رفتار می کنید.
یک ترد می سازید، وقتی لازم بود بهش مقدار بدید، اسم ترد را بنویسید نقطه پراپرتی.