![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по потокам
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.