Форум: "WinAPI";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Внизпередать при запуске потока Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c