![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравсвуйте!
Пытаюсь в потоке парсить вк и выводить ответ в stringlist. Поток срабатывает со второго раза, с первого выдается ошибка: ![]() Если проигнорить ошибку, и еще раз ткнуть кнопку - работает. Если запускать без delphi, чисто с exe файла, то ошибки нет, но так или иначе поток отрабатывает только со второго нажатия. Что я намудрил не так?)) код: Код:
{ TMyThread }
procedure TMyThread.Execute;
var
i,PoSi: integer;
S : string;
artist, title : TStrings;
begin
MusicResponse:=Utf8ToAnsi(send('GET', 'https://api.vk.com/method/audio.get?owner_id='+userid+'&need_user=0&count='+inttostr(TrackCount)+'&'+token));
Form1.sMemo2.Text:=MusicResponse ;
TrackCount:=Form1.sTrackBar1.Position;
S:=Form1.sMemo2.Text;
artist:= TStringList.Create;
title:= TStringList.Create;
url:= TStringList.Create;
url.Clear;
s:= Form1.SMemo2.Text;
prs(s, '"artist":"', '","', artist);
prs(s, '"title":"', '","', title);
prs(s, '"url":"', '?', url);
Form1.SListBox1.TabWidth := 200;
for i := 0 to artist.Count-1 do
begin
Form1.SListBox1.Items.Add(artist[i]+' - '+title[i]);
SSSS:=url.Strings[i];
while pos('\',ssss)<>0 do
delete(ssss,pos('\',ssss),1);
url.Strings[i]:=SSSS;
end;
artist.Free;
title.Free;
url.Text:=AnsiLowerCase(url.Text);
Terminate;
end;Последний раз редактировалось Gareth, 15.04.2016 в 07:33. |
|
#2
|
||||
|
||||
|
простейший пример работы с VCL из потока. естественно работает с первого раза:
Код:
type
TNumLockThread = class(TThread)
private
procedure Synch;
protected
procedure Execute; override;
end;
...
procedure TNumLockThread.Execute;
var
i: Integer;
begin
for i:=1 to 5 do
begin
Synchronize(Synch);
Sleep(250);
end;
end;
procedure TNumLockThread.Synch;
begin
Form1.Memo1.Lines.Add(IntToStr(GetTickCount));
end;запуск: Код:
TNumLockThread.Create(False); |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Gareth (15.04.2016)
| ||