![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
передача ThreadID параметром [D7, WinXP]
GanibalLector © (2006-12-18 16:22:00)Есть главный поток приложения, в котором я запускаю вторичный поток.
BeginThread(nil,0,@Potok,nil,0,ThreadID)
Во вторичном потоке, я запускаю еще один поток, который будет посылать сообщения(PostThreadMessage) в этот(вторичный) поток. Хотелось бы, при создании третьего потока передать ему параметром ThreadID вторичного потока.
function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord; ThreadFunc: TThreadFunc; Parameter: Pointer;CreationFlags: LongWord; var ThreadId: LongWord): Integer;
Как это сделать ума не приложу...
Ведь на момент BeginThread мне ThreadId еще не известен и я не могу его передать во вторичный поток, чтобы после передать в третий.
Можно, конечно, послать из главного потока вторичному сообщение с ThreadID...но это ИМХО вообще от Лукавого.
Сделал так : вынес ThreadID глобальной переменной
var
Form1: TForm1;
ThreadID:DWord;
implementation
{$R *.dfm}
Но очень хочеться без глобальной переменной, а параметром при создании потока.
Какие будут мысли ???
GanibalLector (2006-12-18 20:20:00) [1]2 clickmaker © (18.12.06 16:24) [1]
Спасибо!!! Оно ;)
clickmaker (2006-12-18 16:24:00) [2]погоди ка... а в функции Potok разве нельзя GetCurrentThreadId вызвать?