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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2021, 13:03   #1
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию почему падают потоки?

Уважаемые знатоки подскажите почему падают потоки? что я делаю не так?
Код:
procedure TNewThread.Execute;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
strings: TStrings;
data:  TStringList;
url:string;
begin
  inherited;
while Work do
  begin
  CS.Enter;
CS.Leave;
   if Work then
      begin
     HTTP:=TIdHTTP.create(nil); //Создаём HTTP
     HTTP.HandleRedirects:=false; //Запрещаем редирект
     http.AllowCookies:=true;
     http.Request.UserAgent:=UserAg[random(10)];
     SSL := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
     ssl.SSLOptions.Method := sslvTLSv1_2;
     ssl.SSLOptions.SSLVersions:= [sslvTLSv1_2];
     ssl.SSLOptions.Mode:=sslmUnassigned;
     HTTP.IOHandler := SSL;
   data:= TStringList.Create;
 begin
 try
url:=http.get(1111111111111);
data.Text:=http.get('22222222');
strings:= Parse('<bdo><h1>','</bdo></h1>', data.Text);
if IntToStr(Length(strings.text)) = '12' then
Assignfile(GoodFile, ExtractFilePath(Application.ExeName)+'good.txt');
Append(GoodFile);
Writeln(GoodFile,url);
Closefile(GoodFile);
Rez:=1;
except
Rez:=-1;
end;
 end;
   Synchronize(Sync); //Делаем синхронизацию.
  end;
data.Free;
http.free;
strings.Free;
dec(Thread);
end;
    end;
Если можно кодом)
brownb вне форума Ответить с цитированием
Старый 19.02.2021, 13:29   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
  if IntToStr(Length(strings.text)) = '12' then
          Assignfile(GoodFile, ExtractFilePath(Application.ExeName)+'good.txt');
  Append(GoodFile);
А если НЕ ='12' то какой файл мы будем открывать
чему в этом случае GoodFile
Append у нас не входить в блок then
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.02.2021, 15:04   #3
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
А если НЕ ='12' то какой файл мы будем открывать
чему в этом случае GoodFile
Append у нас не входить в блок then
Код:
if IntToStr(Length(strings.text)) = '12' then
Assignfile(GoodFile, ExtractFilePath(Application.ExeName)+'good.txt');
Append(GoodFile);
Writeln(GoodFile,url);
Closefile(GoodFile);
else 
//ничего не делаем?
или поток убивать надо?

Код:
if IntToStr(Length(strings.text)) = '12' then  begin
Assignfile(GoodFile, ExtractFilePath(Application.ExeName)+'good.txt');
Append(GoodFile);
Writeln(GoodFile,url);
Closefile(GoodFile);
Rez:=1;
end;
так?
brownb вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему-то таблица "неперспективные товары" пустая получается, не понимаю почему chet chou Microsoft Office Access 1 11.05.2017 19:19
Продажи автомобилей падают, а я не могу получить права и купить ) Alar Свободное общение 86 14.09.2016 21:43
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? ion leahu Помощь студентам 6 23.11.2014 19:36
Потоки. Закрываются все потоки при ошибке в одном. Son Общие вопросы Delphi 11 01.11.2013 09:32
Потоки. Почему всё-равно виснет окно? TwiX Общие вопросы Delphi 10 13.12.2009 11:51