Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 16:36   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Как прикрутить WaitForSingleObject к окончанию потока

В справке написано, что WaitForSingleObject может ожидать завершения потока. Но как? Пробовал пихать туда хэндл потока - ничего.
TwiX вне форума Ответить с цитированием
Старый 16.09.2010, 16:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как пробовал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 16:46   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Код:
a=class(TThread)
private
  procedure Execute; override;
end;

begin
  with a.Create(false) do
    waitForSingleObject(handle);
end;
В execute - beep;
TwiX вне форума Ответить с цитированием
Старый 16.09.2010, 17:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну не знаю...
Я пишу
Код:
var t:tt;
begin
 t:=tt.Create(false);
 WaitForSingleObject(t.Handle,INFINITE);
 ShowMessage('Отработала');
 t.Free;
end;
Где tt -
Код:
tt = class(TThread)
...
procedure tt.Execute;
var i:integer;
begin
 for i := 0 to 10 do begin

  Sleep(100);
  //Application.ProcessMessages;
 end;
  { Place thread code here }
end;
И главный поток нормально ждет положенное, а потом выкидывает сообшение Отработало
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2010, 17:30   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
waitForSingleObject(handle);
Как вы умудрились вызвать так функцию WaitForSingleObject, если у неё - два параметра?

Цитата:
Сообщение от TwiX Посмотреть сообщение
В execute - beep;
Значит поток завершиться практически мгновенно.

Цитата:
Сообщение от TwiX Посмотреть сообщение
Пробовал пихать туда хэндл потока - ничего.
Код:
if not WaitForSingleObject(Handle, INFINITE) then
  RaiseLastOSError;
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 16.09.2010, 19:20   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

2GunSmoker, писал прям тут. Ну и что, если мгновенно завершается, просто не должен ждать. Stilet, спасибо... Вроде так же писал - сейчас ещё раз попробую
TwiX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прикрутить кулер? XOsman Компьютерное железо 12 20.02.2010 18:41
Как прикрутить MinGW к NetBeans ? bullvinkle Общие вопросы C/C++ 0 07.02.2010 20:24
Как прикрутить BeanBox к Eclipse Galinka08 Общие вопросы по Java, Java SE, Kotlin 0 12.03.2008 12:40
Как прикрутить GiveIO ? caveman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 03.12.2007 08:43
Группировка по окончанию строки Remein Microsoft Office Excel 2 13.09.2007 11:39