Polya
Принятый Кодер
- Регистрация
- 8 Июн 2016
- Сообщения
- 47
- Баллы
- 50
Как передать токен в процедуру потока, если в потоке нельзя обращаться к глобальным переменным?
work:boolean глобальная
response, token: string глобальные
work:boolean глобальная
response, token: string глобальные
Код:
TOnline = class(TThread)
private
Interval:integer;
HTTP:thttpsend;
procedure Execute; override;
end;
Код:
procedure TOnline.Execute;
var
th:TThread;
temp:string;
i:integer;
begin
inherited;
while Work do
begin
HTTP:=thttpsend.Create;
sleep(interval);
TThread.Synchronize(Self, procedure begin
response:=send('GET', 'https://api.vk.com/method/account.setOnline?&access_token='+ token);
end);
end;
end;
Код:
procedure TForm1.sSlider1Click(Sender: TObject);
var
th:TThread;
i:integer;
begin
for i := 0 to 4 do
if sSlider1.SliderOn=true then begin
Th := TOnline.Create;
(Th as TOnline).Interval := 1000;
end
else
th.Terminate;
sleep(500);
th.DisposeOf;
end;
Последнее редактирование: