Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Копирование настроек IdHTTP


Автор: jorka 5.7.2012, 18:47
Здравствуйте. Идея следующая, есть IdHTTP который имеет довольно специфические настройки и тянет определённую инфу с сайта, но тянет медленно. Я это дело для быстроты разношу по потокам. В каждом потоке создал IdHTTP который будет тянуть, но как скопировать настройки главного IdHTTP без понятия. Метода Assign у него нет. Пробовал вручную присваивать все N десятков параметров, но видимо какой-то упустил, не хочет корректно тянуть, вечно то одна ошибка, то другая выскакивает. Что посоветуете?

Автор: CynicRus 6.7.2012, 23:37
Эм....А нельзя просто создавать экземпляр IdHTTP с необходимыми параметрами, назначенными руками? 

Автор: Akella 7.7.2012, 23:42
Coockie менеджер тоже копируешь?

Добавлено через 49 секунд
Цитата(CynicRus @  6.7.2012,  23:37 Найти цитируемый пост)
Эм....А нельзя просто создавать экземпляр IdHTTP с необходимыми параметрами, назначенными руками?  


Цитата(jorka @  5.7.2012,  18:47 Найти цитируемый пост)
Пробовал вручную присваивать все N десятков параметров, но видимо какой-то упустил,


значит надо выяснить, что упустил

код хоть покажи

Автор: jorka 8.7.2012, 12:32
нет, куки не копирую, они у меня не используются, вот выглядит так:

Код

procedure TMyHTTP.Assign(Source: TPersistent);
var
  lSource: TMyHTTP;
begin
  lSource := TMyHTTP(Source);

  FURI.Document := lSource.FURI.Document;
  FURI.Protocol := lSource.FURI.Protocol;

  FURI.Port := lSource.FURI.Port;
  FURI.path := lSource.FURI.path;
  FURI.Host := lSource.FURI.Host;
  FURI.Bookmark := lSource.FURI.Bookmark;
  FURI.UserName := lSource.FURI.UserName;
  FURI.Password := lSource.FURI.Password;
  FURI.Params   := lSource.FURI.Params;

  Port := lSource.Port;

  Request.AcceptEncoding := lSource.Request.AcceptEncoding;
  Request.UserAgent := lSource.Request.UserAgent;
  Request.Accept := lSource.Request.Accept;
  Request.AcceptLanguage := lSource.Request.Accept;
  Request.ProxyConnection := lSource.Request.Accept;
  Request.Connection := lSource.Request.Connection;

  ProxyParams.ProxyServer := lSource.ProxyParams.ProxyServer;
  ProxyParams.Proxyport := lSource.ProxyParams.ProxyPort;

  HandleRedirects := lSource.HandleRedirects;
  AllowCookies := lSource.AllowCookies;
end;

Автор: Akella 8.7.2012, 23:29
Цитата(jorka @  8.7.2012,  12:32 Найти цитируемый пост)
они у меня не используются, 


зачем тогда

Цитата(jorka @  8.7.2012,  12:32 Найти цитируемый пост)
 AllowCookies := lSource.AllowCookies;


?

Автор: jorka 9.7.2012, 11:50
одно другому не мешает

Автор: XperT 9.7.2012, 15:41
Цитата

есть IdHTTP который имеет довольно специфические настройки

Как настраивали, через редактор форм? Если да, тогда в исходнике формы записаны все измененные параметры, вот их и  используйте при создании других экземпляров.

Автор: Akella 16.7.2012, 13:36
http://forum.vingrad.ru/index.php?showtopic=21411&view=findpost&p=450550

Цитата

procedure AssignComponentProp(Source, Target: TObject; aProp: array of string);
// Копирование свойств/методов заданых в aProp одного компонента в другой
// Пример использования:
// AssignedComponentProp(ListView1, ListView2, ['Items', 'Color']);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)