Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

передача ThreadID параметром   Найти похожие ветки 

 
GanibalLector ©   (2006-12-18 16:22) [0]

Есть главный поток приложения, в котором я запускаю вторичный поток.
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}


Но очень хочеться без глобальной переменной, а параметром при создании потока.
Какие будут мысли ???


 
clickmaker ©   (2006-12-18 16:24) [1]

погоди ка... а в функции Potok разве нельзя GetCurrentThreadId вызвать?


 
GanibalLector ©   (2006-12-18 20:20) [2]

2 clickmaker ©   (18.12.06 16:24) [1]
Спасибо!!! Оно ;)



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
15-1177326834
Tonich
2007-04-23 15:13
2007.05.20
Спутники(характеристики)


15-1177340432
oldman
2007-04-23 19:00
2007.05.20
По мотивам веток про Гитлера и про Ельцина...


15-1177269761
ferr
2007-04-22 23:22
2007.05.20
Префикс vs суффикс.


2-1178087507
DelphiLexx
2007-05-02 10:31
2007.05.20
Динамический двумерный массив


1-1174914421
Inna_Z
2007-03-26 17:07
2007.05.20
Почему может не работать Office 2003 Через OLE