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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2010, 00:34   #1
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию многопоточность

Вобщем создал класс потока

Код:
type
   TWorkThread = class(TThread)
   private
     { Private declarations }
   protected
     procedure DoWork;
     procedure Execute; override;
   end;

var
  MainForm: TMainForm;
  TW : TWorkThread;

как создать по нажатию на кнопку то количество потоков которое я задал TrackBar'ом ?
DeDoK вне форума Ответить с цитированием
Старый 01.08.2010, 01:14   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Пусть TW : TWorkThread; будет объявлено как TW : array of TWorkThread; Тогда в кнопке будет код типа
Код:
SetLength(TW, TrackBar.Position);
for i := 0 to TrackBar.Position - 1 do begin
  TW[i] := TWorkThread.Create(...);
  TW[i].Execute
end
eoln вне форума Ответить с цитированием
Старый 01.08.2010, 01:27   #3
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

я не очень разбираюсь в потоках..можно полнее? как обьявить и где?
DeDoK вне форума Ответить с цитированием
Старый 01.08.2010, 01:52   #4
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Ссылки на потоки ненужны? их просто нужно запустить?
тогда как то так:
Код:
for i:=1 to TrackBar1.value do
YourThread.execute;

Последний раз редактировалось Vikenty; 01.08.2010 в 02:01.
Vikenty вне форума Ответить с цитированием
Старый 01.08.2010, 01:52   #5
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

для создания File->New->Other->New Thread и вводишь имя потока, потом объявляещь его как обычный объект
Код:
var Thread: MyThread;

MyThread:=TMyThread.Create;

Последний раз редактировалось Vikenty; 01.08.2010 в 01:55. Причина: p. s. извините, дублировалось сообщение
Vikenty вне форума Ответить с цитированием
Старый 01.08.2010, 01:58   #6
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

я просто в сорс коде обьявил..а юнит не создавал( скок мануалов не читал - не дается мне эта тема((
DeDoK вне форума Ответить с цитированием
Старый 01.08.2010, 02:14   #7
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
a:array of Thrd;
i: integer;
begin
for i:=0 to TrackBar1.value do
a[i]:=Thrd.Create(false);

end;
Vikenty вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность и с++ Koshmarovsky Visual C++ 13 06.09.2010 20:39
Многопоточность kroŧ Общие вопросы Delphi 5 21.06.2010 10:47
Многопоточность Neymexa Помощь студентам 3 13.04.2010 11:43
Многопоточность JakSon Общие вопросы Delphi 10 27.12.2009 02:19
Многопоточность. newmister Общие вопросы Delphi 9 24.07.2009 12:54