![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день. Есть код:
Код:
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; ListBox1: TListBox; procedure ListBox1DblClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses uThreadLoader; procedure TForm1.ListBox1DblClick(Sender: TObject); var ThreadLdr: TLoader; HtmlCode:string; begin ThreadLdr:=Tloader.Create(True); (*создаем поток*) ThreadLdr.Priority:=tpNormal; (*задать приортет нормальный*) ThreadLdr.FreeOnTerminate:=True; (*самовыгрузка в конце потока*) ThreadLdr.Resume; (*запускаю поток - что то устаревшее заменить?*) ThreadLdr.Url:=ListBox1.Items[ListBox1.ItemIndex]; (*передаем УРЛ из ЛБ в Поток, все работает*) HtmlCode:=ThreadLdr.Html; (*получаем результат ТУТ ПУСТО!!!*) Memo1.Lines.Add(HtmlCode); (*выводим результат в МЕМО*) end; end. и дополнительный модуль Код:
unit uThreadLoader; interface uses System.Classes, idHTTP, SysUtils, Dialogs; type TLoader = class(TThread) private { Private declarations } protected procedure Execute; override; procedure LoadPage; public Url, Html:string; end; implementation procedure Tloader.LoadPage; var Ldr:TidHTTP; begin Ldr:=TidHTTP.Create(nil); Html:=Ldr.Get(Url); ShowMessage(Html); (*тут страница есть*) FreeAndNil(Ldr); end; procedure TLoader.Execute; begin Synchronize(LoadPage); end; end. Задача была такая: загрузить страницу посредством idHTTP но с использованием класса TThread. Вроде все по теории? Вопросы: - почему не передается код страницы в HtmlCode:=ThreadLdr.Html;???? УРЛ через переменную доходит до idHTTP, а обратно нет - РАД говорит что [dcc32 Warning] Unit1.pas(44): W1000 Symbol 'Resume' is deprecated или устарело. а чем заменить? |