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

Вниз

передать при запуске потока   Найти похожие ветки 

 
Bent   (2004-05-21 18:36) [0]

как передать при запуске потока число
и потом его получить
t1:=CreateThread(.,@TH...,0,1); // id 1
t2:=CreateThread(.,@TH...,0,2); // id 2

Обработчик для них одинаков,но код выполняется
в зависимостии от id

procedure TH;stdcall;
var
id:cardinal;
begin
id:= ????? получили,что передавали id
if id=1 then begin ....
if id=2 then begin ....
.....=id*PI;

end;
как получить глобал переменные в теле
основного пот не подходят,они одинаковы
для всех потоков


 
Тимохов ©   (2004-05-21 19:03) [1]

встречное предложение использовать tthread - для прикладных задач очень хорошо подходит.


 
panov ©   (2004-05-21 19:13) [2]

Примерный код:

procedure H(aId: Pointer); stdcall;
var
 Id: DWORD;
begin
 ExitThread(DWORD(aId^)*2);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
TH: THandle;
TI: THandle;
Id: Integer;
RC: DWORD;
begin
 Id := 1;
 TH := CreateThread(nil,0,@H,@Id,0,TI);

 if TH>0 then
 begin
   if WaitForSingleObject(TH,1000)=WAIT_OBJECT_0 then
   begin
     GetExitCodeThread(TH,RC);
     ShowMessage(IntToStr(RC));
   end;
   CloseHandle(TH);
 end;


 
LMD ©   (2004-05-21 21:12) [3]


> как получить глобал переменные в теле
> основного пот не подходят,они одинаковы
> для всех потоков


threadvar в delphi ввели полезное слово


 
Bent   (2004-05-22 10:13) [4]

Спасибо всем понял!



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
3-1086866596
Artem03
2004-06-10 15:23
2004.07.04
Аналог функций CONVERT или CAST в Informix 9


1-1087487286
sherbacov
2004-06-17 19:48
2004.07.04
Как в TTreeNode добавить Tag?.


1-1087377608
фантазер
2004-06-16 13:20
2004.07.04
Single


1-1087760017
Arm79
2004-06-20 23:33
2004.07.04
mdi forms


1-1087539778
sav
2004-06-18 10:22
2004.07.04
Установка свойства Файлов