<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3249425</guid>
        <pubDate>Wed, 12 Dec 2012 19:46:36 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3249425</link>
        <description><![CDATA[jack128: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=369312&view=findpost&p=3249261'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pcrepair &#064; <time class="tag-quote__quoted-time" datetime="2012-12-12T18:57:14+04:00">12.12.12, 14:57</time></span><div class='quote '>сделать в uses модуля ссылку на основную форму Unit1(тогда все работает)</div></div><br>
лажа. Никогда так не делай. У потока вроде есть событие OnTerminate, на него подписывайся и из (Sender as TLoader).Html вытаскивай свою страницу.]]></description>
        <author>jack128</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3249413</guid>
        <pubDate>Wed, 12 Dec 2012 19:23:09 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3249413</link>
        <description><![CDATA[balah: Если это на один раз, то сделай ссылку в uses. Если не хочешь - то сделай у TLoader еще одно поле и в нем храни указатель на callback функцию, которую и будешь вызывать в процедуре ShowPage. В callback функции будешь добавлять html в memo или производить какие-то другие манипуляции с отображением. Еще вариант отправить сообщение, на которое будет реагировать твоя форма, но это как-то более запутанно будет выглядеть. Включив фантазию можно и еще что-то придумать, а оно надо...]]></description>
        <author>balah</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3249261</guid>
        <pubDate>Wed, 12 Dec 2012 14:57:14 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3249261</link>
        <description><![CDATA[Pcrepair: вообще вкурсе, но чисто тиоритцки.<br>
а вот сейчас и пробую на практике все расставить по своим местам<br>
<br>
лучше сообщи свой комментарий на это:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>идея хорошая, но не пройдет, поскольку в модуле uThreadLoader нет ни формы ни МЕМО<br>
разве что <strong class='tag-b'><span class='tag-size' data-value='14' style='font-size:14pt;'>сделать в uses модуля ссылку на основную форму Unit1(тогда все работает)</span></strong>, но это както по кривому, не должно быть ссылок на основной модуль из дополнительного, где то читал об этом. как то подругому нет варианта передать результат в основную форму? <br>
<br>
но в общем ошибка понятна - нужна была еще одна процедура. тут еще один вопрос: а функцию вместо процедуры в таких конструкция можно использовать? просмотрел много решений(из интернетума), но везде только процедуры. пробовал в Synchronize вставить функции - РАД пишет что так низзя</div></div>]]></description>
        <author>Pcrepair</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248858</guid>
        <pubDate>Wed, 12 Dec 2012 06:13:32 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248858</link>
        <description><![CDATA[jack128: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=369312&view=findpost&p=3248705'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pcrepair &#064; <time class="tag-quote__quoted-time" datetime="2012-12-11T19:11:44+00:00">11.12.12, 19:11</time></span><div class='quote '>procedure TLoader.Execute;<br>
begin<br>
   Synchronize(LoadPage);<br>
end;<br>
 </div></div><br>
<br>
Ад и израиль&#33;&#33;&#33;&#33;<br>
<br>
Ты в курсе зачем вообще нужен Synchronize?]]></description>
        <author>jack128</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248816</guid>
        <pubDate>Wed, 12 Dec 2012 03:42:35 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248816</link>
        <description><![CDATA[Pcrepair: balah, спасибо за подсказку<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TLoader.ShowPage;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Form1.Memo1.Lines.Add(Html);</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
идея хорошая, но не пройдет, поскольку в модуле uThreadLoader нет ни формы ни МЕМО<br>
разве что сделать в uses модуля ссылку на основную форму Unit1(тогда все работает), но это както по кривому, не должно быть ссылок на основной модуль из дополнительного, где то читал об этом. как то подругому нет варианта передать результат в основную форму? <br>
<br>
но в общем ошибка понятна - нужна была еще одна процедура. тут еще один вопрос: а функцию вместо процедуры в таких конструкция можно использовать? просмотрел много решений(из интернетума), но везде только процедуры. пробовал в Synchronize вставить функции - РАД пишет что так низзя]]></description>
        <author>Pcrepair</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248794</guid>
        <pubDate>Tue, 11 Dec 2012 21:59:27 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248794</link>
        <description><![CDATA[northener: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=369312&view=findpost&p=3248705'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pcrepair &#064; <time class="tag-quote__quoted-time" datetime="2012-12-11T19:11:44+00:00">11.12.12, 19:11</time></span><div class='quote '>Задача была такая: загрузить страницу посредством idHTTP но с использованием класса TThread. Вроде все по теории?</div></div><br>
По теории - двойка с минусом.]]></description>
        <author>northener</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248725</guid>
        <pubDate>Tue, 11 Dec 2012 20:12:38 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248725</link>
        <description><![CDATA[balah: Ты член Html используешь еще до того как в него что-то загрузилось. И url нужно устанавливать перед стартом потока.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.ListBox1DblClick(Sender: TObject);</div><div class="code_line">var ThreadLdr: TLoader; HtmlCode:string;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr:=Tloader.Create(True); (*создаем поток*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.Priority:=tpNormal; &nbsp; &nbsp; &nbsp; &nbsp;(*задать приортет нормальный*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.FreeOnTerminate:=True; &nbsp;(*самовыгрузка в конце потока*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.Url:=ListBox1.Items[ListBox1.ItemIndex]; (*передаем УРЛ из ЛБ в Поток, все работает*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.Resume; &nbsp;(*запускаю поток - что то устаревшее заменить?*) &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure Tloader.LoadPage;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; Ldr:TidHTTP;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Ldr:=TidHTTP.Create(nil);</div><div class="code_line">&nbsp;&nbsp; try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; Html:=Ldr.Get(Url);</div><div class="code_line">&nbsp;&nbsp; finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; Ldr.free;</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TLoader.ShowPage;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Form1.Memo1.Lines.Add(Html);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TLoader.Execute;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; LoadPage;</div><div class="code_line">&nbsp;&nbsp; Synchronize(ShowPage);</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>balah</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248705</guid>
        <pubDate>Tue, 11 Dec 2012 19:11:44 +0000</pubDate>
        <title>Загрузка страниц в Потоке с idHTTP</title>
        <link>https://forum.sources.ru/index.php?showtopic=369312&amp;view=findpost&amp;p=3248705</link>
        <description><![CDATA[Pcrepair: Добрый день. Есть код:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">unit Unit1;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,</div><div class="code_line">&nbsp;&nbsp;Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;Memo1: TMemo;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ListBox1: TListBox;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure ListBox1DblClick(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">uses uThreadLoader;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.ListBox1DblClick(Sender: TObject);</div><div class="code_line">var ThreadLdr: TLoader; HtmlCode:string;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr:=Tloader.Create(True); (*создаем поток*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.Priority:=tpNormal; &nbsp; &nbsp; &nbsp; &nbsp;(*задать приортет нормальный*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.FreeOnTerminate:=True; &nbsp;(*самовыгрузка в конце потока*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.Resume; &nbsp;(*запускаю поток - что то устаревшее заменить?*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;ThreadLdr.Url:=ListBox1.Items[ListBox1.ItemIndex]; (*передаем УРЛ из ЛБ в Поток, все работает*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;HtmlCode:=ThreadLdr.Html; &nbsp;(*получаем результат ТУТ ПУСТО!!!*)</div><div class="code_line">&nbsp;&nbsp; &nbsp;Memo1.Lines.Add(HtmlCode); (*выводим результат в МЕМО*)</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
<br>
и дополнительный модуль<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">unit uThreadLoader;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;System.Classes, idHTTP, SysUtils, Dialogs;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;TLoader = class(TThread)</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;protected</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Execute; override;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure LoadPage;</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;Url, Html:string;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">procedure Tloader.LoadPage;</div><div class="code_line">var</div><div class="code_line">Ldr:TidHTTP;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Ldr:=TidHTTP.Create(nil);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Html:=Ldr.Get(Url);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ShowMessage(Html); (*тут страница есть*)</div><div class="code_line">&nbsp;&nbsp; FreeAndNil(Ldr);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TLoader.Execute;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Synchronize(LoadPage);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
<br>
Задача была такая: загрузить страницу посредством idHTTP но с использованием класса TThread. Вроде все по теории?<br>
Вопросы: <br>
- почему не передается код страницы в HtmlCode:=ThreadLdr.Html;????  УРЛ через переменную доходит до idHTTP, а обратно нет<br>
- РАД говорит что [dcc32 Warning] Unit1.pas(44): W1000 Symbol &#39;Resume&#39; is deprecated или устарело. а чем заменить?]]></description>
        <author>Pcrepair</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	