Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2016, 18:29   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это не весь модуль-потока.
У-у-у... Так, погодь. Схожу за паяльником и утюгом. Или если хочешь, буду пытать тебя бутылкой водки из Карпат?
Цитата:
для них CoInitialize / CoUnInitialize
А для них-то зачем? Они что СОМ объектом идут?
Цитата:
в IDE выскакивает окно отладки с assembler
Ну так посмотри на каком операторе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.01.2016, 18:32   #12
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

что такое вроде?
come-on вне форума Ответить с цитированием
Старый 11.01.2016, 21:38   #13
vanam
 
Регистрация: 12.01.2009
Сообщений: 7
По умолчанию

максимально упрощаю

запуск потоков
Код:
var prices:array[1..MaxHread] of THreadPrice;
    currHread:integer;

  for currHread:=1 to Hreadcnt do
   begin
     prices[currHread] := THreadPrice.Create(True);
     with prices[currHread] do
       begin
         FreeOnTerminate:=False;
         Priority:=tpLower;
         Resume;
       end;
   end;
модуль-поток полностью
Код:
unit unitHreadPrice;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IDHTTP, IdSSLOpenSSL, IdCookieManager,
  Vcl.Samples.Gauges, IdZLibCompressorBase, IdCompressorZLib, ActiveX,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, Vcl.StdCtrls, RegExpr, Vcl.Imaging.pngimage;


type
  THreadPrice = class(TThread)
    HTTP:TIdHTTP;
  protected
    procedure Execute; override;
  end;

implementation

procedure THreadPrice.Execute;
var cnt:integer;
begin
  HTTP:=TIdHTTP.Create(nil);
  with HTTP do
    begin
      ConnectTimeout:=180*1000;
      ReadTimeout:=180*1000;
      AllowCookies:=True;
      HandleRedirects:=True;
    end;

  with HTTP.Request do
    begin
      Host:='www.heureka.cz';
      Accept:='text/html, */*; q=0.01';
      AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
      AcceptEncoding:='gzip, deflate';
      Connection:='keep-alive';
      Pragma:='no-cache';
      CacheControl:='no-cache';
      UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20100101 Firefox/21.0';
    end;
    for cnt := 1 to 20 do
      HTTP.Get('http://www.heureka.cz/');
end;

end.
при 20-и потоках:
Access violation at address .... in module. Read of address 00000000
vanam вне форума Ответить с цитированием
Старый 11.01.2016, 21:47   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Утечка как минимум есть в Execute. А как разрушаешь потоки?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.01.2016, 21:51   #15
vanam
 
Регистрация: 12.01.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Утечка как минимум есть в Execute. А как разрушаешь потоки?
не важно. потоки не отрабатывают
vanam вне форума Ответить с цитированием
Старый 12.01.2016, 09:51   #16
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

а меня больше интересует как заданы MaxHread Hreadcnt ?
опция RangeCheckError ведь по умолчанию отключена.
Цитата:
Код:
var prices:array[1..MaxHread] of THreadPrice;
    currHread:integer;

  for currHread:=1 to Hreadcnt do
  begin
     prices[currHread] := THreadPrice.Create(True);
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.01.2016 в 09:54.
evg_m вне форума Ответить с цитированием
Старый 12.01.2016, 09:54   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А меня интересует что такое Hread.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Потокобезопасность lavilin C# (си шарп) 7 24.11.2014 10:17