Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по потокам


zaN0za ©   (2006-04-30 15:39:00) 

Доброго времени суток.

У меня такой вопрос:

создаю поток с помощью CreateThread, передаю в него параметр.

каким образом создать поток и передать в него например 3 параметра?

Спасибо за внимание.


GanibalLector   (2006-04-30 15:52:00) [1]

Так :

type
 TMyMode = packed record
  Port   : Byte;
  Baud   : Word;
  CashID : Byte;
  Handle : THandle;
  Mode   : Byte;
  Idx1,
  Idx2   : Word;
 end;
 PMyMode = ^TMyMode;

...
var Ph:PMyMode;
begin
 New(Ph);
 Ph^.Port:=Port;
 Ph^.Baud:=Baud;
 Ph^.Mode:=Mode;
 Ph^.Idx1:=Idx1;
 Ph^.Idx2:=Idx2;
 Ph^.CashID:=CashID;
 Ph^.Handle:=Handle;
 CloseHandle(BeginThread(nil,0,@Potok,Ph,0,ThreadId));
 //...
end;

function Potok(Param: PMyMode): DWord;
begin
 //...
 case Param^.Mode  of ...

 //...
 Dispose(Param);
end;


Eraser   (2006-04-30 15:50:00) [2]


> zaN0za ©   (30.04.06 15:39)


> создаю поток с помощью CreateThread

Лучше использовать BeginThread.

> каким образом создать поток и передать в него например 3
> параметра?

создать потомок класса TThread и в нём определить свой метод Create.


Наверх

Титульная страница Поиск, карта сайта Написать письмо