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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2014, 23:00   #1
stasa9711
Форумчанин
 
Регистрация: 01.10.2012
Сообщений: 106
По умолчанию потоки в delphi

Написал многопотоность класс Tthread, но вот проблема в том, что потоки не снижаются ...поставил условие if Thread=0 then showmessage('ok'); задача потока выполнилась, но вот потоки не хотят снижаться ...как быть ?

даже если ставлю скорость в 1 поток, то все равно условие не выполняется ...
stasa9711 вне форума Ответить с цитированием
Старый 29.01.2014, 23:09   #2
stasa9711
Форумчанин
 
Регистрация: 01.10.2012
Сообщений: 106
По умолчанию

функцию dec(Thread); использую , но не помогает ...
stasa9711 вне форума Ответить с цитированием
Старый 29.01.2014, 23:17   #3
stasa9711
Форумчанин
 
Регистрация: 01.10.2012
Сообщений: 106
По умолчанию

код потока :
Код:
var CurAcc, TP:integer;
    HTTP:THTTPSend;
    IP, Port,s:string;
    data:TStringStream;
     I: integer;
  IdMes: TIdMessage;
  POP3:TIdPOP3;
    HTML, src:TStringList;
begin
 while Work do
  begin
   CS.Enter;
    Inc(Acc);  Inc(NP);
    if Acc<Accounts.Count-1 then CurAcc:=Acc else Work:=false;
    if NP<Proxy.Count-1 then TP:=NP else begin
      NP:=0;
      TP:=NP;
    end;
   CS.Leave;

   if Work then
    begin
        balance:='';
        s:='';
    
     FLogin:=Copy(Accounts[CurAcc],1,Pos(razd,Accounts[CurAcc])-1);
     FPassword:=Copy(Accounts[CurAcc],Pos(razd,Accounts[CurAcc])+1,Length(Accounts[CurAcc]));

                             IdMes:=TIdMessage.Create(nil);
         POP3:=TIdPOP3.Create(nil);
 POP3.Host:='pop.mail.ru'; // адресс почтового сервера
    POP3.Port:=110;           // порт по которому будет осуществляться подключение
    POP3.Username:=FLogin; // Логин пользователя
    POP3.Password:=FPassword;   // пароль пользователя
    POP3.Connect; // подключение по протоколу POP3, по настрокам в компоненте IdPOP3, с именем POP3

    if pop3.Connected=true then begin



       IdMes.Free;
      Rezult:=1
      end else
     begin
     Rezult:=2;
     end;
     end else
     begin
     Rezult:=0;
     end;

     HTTP.Free;
     src.Free;
     data.Free;
 

     Synchronize(Sync);
    end;


 dec(Thread);
 if Thread=0 then begin showmessage('completed');
  stopbrute();
 end;
end;
stasa9711 вне форума Ответить с цитированием
Старый 29.01.2014, 23:45   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

В помощь:
Delphi7, TThread, как "правильно" дождаться завершения работы потока
Streletz вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi потоки Mrsqler Общие вопросы Delphi 6 08.07.2012 00:02
Потоки в delphi ulia8412 Помощь студентам 0 18.12.2011 10:06
Потоки в delphi andrejjka Общие вопросы Delphi 3 27.06.2011 13:22
Delphi. Потоки. Florento Фриланс 1 17.06.2011 17:22
Потоки в Delphi ChEaTeR-abc Помощь студентам 3 14.07.2010 17:40