|
|
Регистрация | << Правила форума >> | 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)
|