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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2011, 10:05   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию Создание потока с ручным запуском

Пытаюсь создать поток таким образом чтобы при его создании он не запускался сам, а ждал пока его запустят, и после его создания запустить его с параметрами нужными мне:

Код:
  TWorkThread = class(TThread)
  private
  protected
  public
    function Execute(ThreadNum: integer; Socket: TCustomWinSocket): integer;
//Execute сделан в виде функции которую мне нужно запустить передав ей параметры
    constructor Create(CreateSuspended: Boolean);
  end;

//Вот так создаю поток(на сколько я знаю если передать в параметре не false а true то поток создастся остановленным, верно?)
  LoadThread[ThreadCount+1] := TWorkThread.Create(true);

//А вот как его после создания запустить я не знаю
  LoadThread[ThreadCount+1].TWorkThread.Execute(ThreadCount+1, Socket); //этот бред не работает)
В общем мне нужно знать:
Если поток запускать с параметром true то он не запустится после создания, это так?
Как после создания потока мне запустить Execute с нужными мне параметрами?
Заранее спасибо.
Crystallon вне форума Ответить с цитированием
Старый 22.06.2011, 10:38   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Если поток запускать с параметром true то он не запустится после создания, это так?
да, запускается через Thread.Resume;

так же у вас нет переопределения метода Execute.
а насчет параметров, то все параметры заносятся в сам объект, так что в описании класса пишите нужные параметры как поля или своства/поля
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.06.2011, 12:37   #3
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

http://zalil.ru/31313574
Посмотри эту программу. В ней WinSock работает в потоке можно сразу несколько потоков запустить, поток создается в модуле SoketsConnect.pas
Aliens_wolfs вне форума Ответить с цитированием
Старый 22.06.2011, 13:04   #4
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Решил проблему передав в create потока нужные параметры а потом из create в execute.
Тему можно закрывать.
Crystallon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание потока,передача функции в поток asdasys Помощь студентам 4 25.02.2011 17:30
Создание потока GoldP Win Api 0 14.05.2010 21:28
Создание потока Хохол Общие вопросы .NET 0 21.11.2009 16:44
Привет..Кто может помогите с делфи,ручным режимом игры INCIC Помощь студентам 0 06.06.2009 22:34
Создание события потока Arteom Общие вопросы Delphi 9 11.01.2008 21:16